1.string的幾種初始化方式
string s1;
string s2(s1);
string s3("A");
string s4(n,'c') //n個(gè)c組成的串
-
直接初始化與拷貝初始化
拷貝初始化使用
=
耀销,而直接初始化不使用
2. cbegin 和cend
- 返回只讀的迭代器
const_iterator
3.數(shù)組
-
一些注意事項(xiàng)
- 不允許使用auto
- 元素必須為對(duì)象楼眷,不存在引用的數(shù)組
- 不允許直接賦值和拷貝
-
復(fù)雜數(shù)組的聲明解釋
int *ptr[10]; //含有十個(gè)int類型指針的數(shù)組 int (*parray)[10]; //指向一個(gè)含有10個(gè)int元素的數(shù)組的指針铲汪,【數(shù)組指針】 int (&arrRef)[10]; //引用一個(gè)含有10個(gè)int元素的數(shù)組的指針 //解釋順序:由內(nèi)向外
-
數(shù)組與指針
-
使用數(shù)組作為auto變量的初始值,推斷類型為【指針】而非數(shù)組
int a[]={0,1,2,3,4}; auto b(a); //整型指針 //等價(jià)于 auto b(&a[0]);
-
使用decltype不會(huì)發(fā)生上述情況
decltype(a) c={0,1,2,3}; //c是數(shù)組
-
-
c 風(fēng)格字符串注意事項(xiàng)
//C風(fēng)格字符串是多個(gè)字符最后接上'\0' char ca[]={'c','+','+'}; //ca不是C風(fēng)格字符串罐柳,不能使用strcopy(),strlen()等函數(shù) //可以通過c_str()函數(shù)將string轉(zhuǎn)為C風(fēng)格字符串
-
使用數(shù)組初始化vector
int a[]={0,1,2,3,4}; vector<int>(begin(a),end(a)); //參數(shù)為拷貝范圍首尾地址