c 常見問題之 vector 和陣列

2022-08-31 03:00:13 字數 1178 閱讀 2979

初始化vector 物件:

vectorv1  v1 為空vector

vectorv2(v1)

vectorv2 = v1

vectorv3(n,val)

vectorv4(n)

vectorv5

vectorv5 =

vectors(10,2) //10個元素每個元素是2

vectors//2個元素 10和2

vector操作:

v.empty()

v.size()

v.push_back()

v[n]

v1 == v2

v1 =

迭代器操作:

vectorr = ;

vector::iterator it;

for(it = r.begin();it!= r.end();it++)

cout << *it << endl;

陣列:陣列a[d] d必須是常量表示式 unsigned cnt = 42; int a[cnt] //錯誤  string strs[get_size()] //錯誤,當get_size是 constexpr時正確

char a3 = "c++";  a3的長度為4 還有空字元『\0』

陣列不允許將陣列內容拷貝給其他陣列作為初始值,也不能用陣列為其他陣列賦值

int a = ;

int a2 = a;//錯誤

a2 = a; //錯誤

int len = sizeof(a)/sizeof(a[0]);

複雜陣列:預設情況型別修飾從右往左

int *ptr [10]; // ptr是含有10個int*的陣列

int &refs[10]; // 錯誤 不存在引用陣列

int (*parray)[10] = &arr; // parray 是個指標,指向大小為10的陣列,陣列中的型別為int

int (&arrtest)[10] = arr; //arrtest 是個引用,引用型別為大小為10的陣列,陣列中的型別為int

遞增

int j = 0,i;

i = ++j; // i=1,j=1

i = j++; // i=1,j=2

c 常見問題之 const

const 預設狀態下const物件僅在檔案內有效,新增extern關鍵字可以在多個檔案共享 const 引用 可以把引用繫結到const物件上,對常量的引用不能被用作修改它所繫結的物件 const int ci 1024 const r ci 正確 r 3 錯誤 int s ci 錯誤,可以通過s...

常見問題之陣列去重

現在面試時候,還會時常提到陣列去重問題,藉著休息的這幾天自己也總結一下,不求全面只求簡單易懂的幾個去重方法吧。array.prototype.uniquea function if isrepetition return result 第乙個方法是另建乙個結果陣列,用來儲存原始陣列中不重複的資料。遍...

C 常見問題

1.預處理 預處理的主要作用就是對資源進行等價替換,最常見的預處理有 檔案包含 include 條件編譯 if,ifndef,ifdef,endif,undef 布局控制 pragma 巨集替換等 define 等。1.1 標頭檔案中放什麼?標頭檔案一般用於類的定義 extern變數和函式的宣告。由...