1.判斷變數型別
//標頭檔案
#include
//輸出變數i的型別
cout<<
typeid
(i).
name()
<
string b
("abc");
cout << b.
capacity()
<< endl;
cout << b.
size()
<< endl;
if(b[3]
=='\0'
) cout <<
"yes"
<< endl;
else
cout <<
"no"
<< endl;
執行結果
3
3yes
std::string:標準中未規定需要\0作為字串結尾。編譯器在實現時既可以在結尾加\0,也可以不加。(因編譯器不同)
但是,當通過c_str()或data()(二者在 c++11 及以後是等價的)來把std::string轉換為const char *時,會發現最後乙個字元是\0。但是c++11,string字串都是以』\0』結尾。
3 string中的幾個函式
a = s.
substr
(i,len)
;//字串a為 字串s的從下標i開頭,長度為len的字串
4.兩個vector物件的拼接
//把v2拼接到v1的後邊
v1.insert
(v1.
end(
),v2.
begin()
,v2.
end())
;
3.二維陣列的建立和訪問
//建立
int matrix[
4]=,
,,};
//訪問有兩種方式
//方式一
int(
*p)[4]
=matrix (或&matrix[
0]);
cout << p[0]
[0]<< endl;
//方式二
int*p=matrix[0]
=&matrix[0]
[0]=
*matrix;
cout << p[0]
<<
" "<<< endl;
參考鏈結
4.delete刪除指標變數
用delete刪除指標之後,還要將指標置為nullptr,因為我們在刪除乙個指標之後,編譯器只會釋放該指標所指向的記憶體空間,而不會刪除這個指標本身。
參考文章
cout 列印指標
一般來說如果給cout提供乙個指標,它將列印位址,但如果指標的型別為char* ,則cout將顯示指向的字串。如果想列印字串的位址需(int*)
const與多重指標
const int **p
指標p為指向const int型別的指標的指標。所以p並不是const型別,因此可以進行如下操作。 ++(*p)。
文章1文章2
c++ 函式前面和後面 使用const 的作用:
前面使用const 表示返回值為const
後面加 const表示函式不可以修改class的成員
string和int的互相轉換
//string to int
int n =
atoi
(str.
c_str()
);//int to string
string s =
to_string
(n);
python遇到的知識點
python遇到的知識點,記錄一下。方便學習。查了資料,關於open 的mode引數 r 讀 w 寫 a 追加 r r w 可讀可寫,檔案若不存在就報錯 ioerror w w r 可讀可寫,檔案若不存在就建立 a a r 可追加可寫,檔案若不存在就建立 對應的,如果是二進位制檔案,就都加乙個b就好...
工作中小知識點彙總(c )
1 oop 實體與資料庫字段轉換 注意 此時實體字段必須和資料庫中查詢的字段列名相同 list modelextend.getbydatatablepart ds.tables 0 實體和datatable都有的資料才回給實體賦值 public static listgetbydatatablepa...
刷題知識點總結(C )
string中尋找子串 替換字串 string字串判斷是否被訪問過 部分揹包問題通式 區間貪心 哈夫曼樹 將char字元變成int 向下取整和向上取整 當使用二維陣列超時的時候,可以使用二維map lower bound 和upper bound set iterator tp 遇到有關圖的題時,鄰...