Linux QT編程
前言
學(xué)習(xí) C++的面向?qū)ο缶幊?,?duì)學(xué)習(xí) Qt 有很大的幫助
一、 C++的輸入輸出方式
效率上,肯定是 C 語(yǔ)言的 scanf 和 printf 的效率高,但是沒有 C++中的 cin 和 cout 使用方便。
1.cout語(yǔ)法形式
cout<<x<<endl;
cout<<x<<y; // endl 可流省略,只是一個(gè)換行的效果
x 可以是任意數(shù)據(jù)類型,甚至可以寫成一個(gè)表達(dá)式,這比 C 語(yǔ)言需要指定數(shù)據(jù)類型方便多了,endl 指的是換行符,與 C 語(yǔ)言的“\n”效果一樣。
2.cin語(yǔ)法形式
cin>>x;
cin>>x>>y;
x 可以是任意數(shù)據(jù)類型。
3.C++之命名空間 namespace
我們已經(jīng)使用過命名空間,如using namespace std;
要注意第 1 行,不能寫成 iostream.h,有.h 的是非標(biāo)準(zhǔn)的輸入輸出流,c 的標(biāo)準(zhǔn)庫(kù)。無.h 的是標(biāo)準(zhǔn)輸入輸出流就要用命名空間。
using 是編譯指令,聲明當(dāng)前命名空間的關(guān)鍵詞??梢詮淖置嫔侠斫馑囊馑?,using 翻譯成使用。這樣可以理解成使用命名空間 std。因?yàn)?cin 和 cout 都是屬于 std 命名空間下的東西,所以使用時(shí)必須加上 using namespace std;這句話。cin 和 cout 可以寫 std::cin 和 std::cout,“::”表示作用域,cin 和 cout 是屬于 std 命名空間下的東西,這里可以理解成 std 的 cin 和 std 的 cout
為什么要使用命名空間?
有些名字容易沖突,所以會(huì)使用命名空間的方式進(jìn)行區(qū)分,具體來說就是加個(gè)前綴。
比如C++ 標(biāo)準(zhǔn)庫(kù)里面定義了 vector 容器,您自己也寫了個(gè) vector 類,這樣名字就沖突了。于是標(biāo)準(zhǔn)庫(kù)里的名字都加上 std:: 的前綴,您必須用 std::vector 來引用。同理,您自己的類也可以加個(gè)自定義的前綴。但是經(jīng)常寫全名會(huì)很繁瑣,所以在沒有沖突的情況下您可以偷懶,寫一句using namespace std;,接下去的代碼就可以不用寫前綴直接寫 vector 了。
下面介紹自定義的命名空間和使用自定義的命名空間
新建一個(gè)目錄 02_namespace_example,然后在 02_namespace_example 里新建一個(gè)02_namespace_example.cpp 文件
然后輸入下面這段代碼
#include <iostream>
using namespace std;
namespace A
{
int x = 1;
void fun()
{
cout<<"A namespace"<<endl;
}
}
using namespace A;
int main()
{
fun();
A::x = 3;
cout<<A::x<<endl;
A::fun();
return 0;
}
第 4 行,自定義了命名空間 A,里面定義了一個(gè)變量 x,并將 x 賦值為 1;定義了一個(gè)函數(shù)fun(),并在 fun()加了輸出打印語(yǔ)句 cout<<“A namespace”<<endl;。
第 11 行,聲明使用命名空間 A。
第 14 行,在第 11 行聲明了命名空間 A 后,才能直接使用 fun();否則要寫成A::fun();
第 15 行,將 A 命名空間下的 x 重新賦值為 3。
第 16 行,打印出 A 命名空間下的 x 的值。
第 17 行,調(diào)用 A 命名空間下的 fun()。文章來源:http://www.zghlxwxcb.cn/news/detail-469781.html
然后編譯執(zhí)行
可以看到fun()打印出字符
然后cout << A::x<<endl打印出3
然后調(diào)用A::fun()打印出字符文章來源地址http://www.zghlxwxcb.cn/news/detail-469781.html
到了這里,關(guān)于Linux系統(tǒng)下imx6ull QT編程—— C++基礎(chǔ)(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!