unsigned cnt = 42;//不是常量表示式
constexpr unsigned sz=42;//常量表示式
int arr[10];//含有10個整數的陣列
int *parr[sz];//含有42個整型指標的陣列
string bad[cnt];//錯誤,cnt不是常量表示式,不報錯的是因為編譯處理,這叫編譯器擴充套件,編譯器自定義的輔助功能
string strs[get_size()]; //當get_size()是constexpr時正確
const unsigned sz=3;
int ial[sz] = ;
int a2=;
int a3[5]=;//等價於
string a4[3]=;//等價於
int a5[2]=;//報錯,初始值過多
char a1=;//列表初始化,沒有空字元
char a2=;//列表初始化,含有顯示的空字元
char a3="c++";//自動新增表示字串的結束空字元
const char a4[6] ="daniel";//錯誤,6個字元,沒有位置存放空字元
int a=;
int a2=a;//錯誤,不能拷貝
a2 = a;//錯誤,不能賦值
int ia=;
auto ia2(ia);//ia2是一個指標,指向ia的首元素
id2 = 42;//錯誤
auto id3(&ia[0]);//顯然也是一個指標型別
decltype(ia) id4=;
int *p=&0x111;-->假設。。
ia4 = p;//錯誤,不能用整型指標給陣列賦值
ia4[4] = i;//正確,把i的值賦給ia4的一個元素
int arr=;
int *beg = begin(arr);//指向首地址的指標
int *last=end(arr);//指向arr尾元素的下一個位置的指標
int ia
int *p=ia;
i=*(p+2);
------------------------
int j=p[1];//等價於ia[3]
int k=p[-2];//等價於ia[0]
方法
解釋strlen(p)
返回p的長度,不記空字元
strcmp(p1,p2)
比較p1和p2的相等性。如果p1==p2,返回0;如果p1>p2返回一個正值;如果p1
strcat(p1,p2)
將p2附加到p1之後,返回p1
strcpy(p1,p2)
將p2拷貝給p1,返回p1
傳入此類函式的指標必須指向以空字元作為結束的陣列
char ca = ;
cout《要使用範圍for語句處理多維陣列,除了最內層迴圈外,其他所有迴圈的控制變數都應該是引用型別
size_t cnt=0;
for(auto &row:ia)
for(auto &col:row)
for(auto &row:ia)
for(auto col:row)
while(int i=0);//錯誤
trycast(exception-declaration)cast(exception-declaration)//.....
js 奇怪的面試題出現了
完全不會這樣的題目,但是可以看出是個演算法題,不能查詢字串是很艱難的一部分 解決方案 字串替換需要 用kmp或者bf演算法 js kpm演算法 獲取部分匹配值表 function inittable str return0 獲得雙份陣列 if partstring.length 2 console....