每個定義以類型說明符開始:
int count; double sales_price, sum; std::string title; // 需 #include <string> Sales_item bookItem; // 自定義類型 // using 簡化寫法 using std::string; using std::cin; // 之後可直接用 string、cin
vector<T> v1; // 空 vector<T> v2(v1); // 拷貝 vector<T> v3(n, val); // n 個 val vector<T> v4(n); // n 個值初始化元素
v.push_back(val); // 尾插 v.size(); // 元素個數 v.empty(); // 是否為空 v[i]; // 下標訪問(不檢查邊界) v.at(i); // 下標訪問(檢查邊界)
vector<int>::iterator it = v.begin();
vector<int>::const_iterator cit = v.cbegin(); // 不可修改元素
for (auto it = v.begin(); it != v.end(); ++it)
*it = 0; // 修改元素
// 範圍 for (C++11)
for (auto& x : v) x = 0;
任何改變 vector 長度的操作(`push_back`、`insert`、`erase`、`resize` 等)都會使所有迭代器失效。
int *p = &val; // 取地址 int *p = 0; // 空指針 (或 nullptr C++11) void *vp = &val; // 通用指針,可保存任意類型地址
int ival1 = 1024, ival2 = 2048; int *pi = &ival1, *pi2 = &ival2; pi = pi2; // pi 指向 ival2,ival1 值不變 int &ri = ival1, &ri2 = ival2; ri = ri2; // ival1 值變為 2048,ri 仍綁定 ival1
// 字符串輸出需包含 <string>
#include <string>
std::string s1 = "1234567";
std::cout << s1 << std::endl; // 正確輸出
// 指針遍歷數組
int ia[] = {0, 2, 4, 6, 8};
int *ip = ia; // 指向首元素
int *ip1 = &ia[0]; // 等價
for (; ip != ip + 5; ++ip)
std::cout << *ip << ' ';