亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

string 構造函數,=,整數 賦值給 string 引起的 坑

發布時間:2020-05-27 19:49:35 來源:網絡 閱讀:822 作者:qdqade 欄目:編程語言

對string 理解構造和賦值理解不清引起的錯誤。

起因:

string a;

int i=1;

a=i;//不報錯,不警告


int c=330;//大于256

a=c;//不警告,不報錯


a=330;//warning: overflow in implicit constant conversion


string str=3;// error: invalid conversion from 'int' to 'const char*'

string str(3);// error: invalid conversion from 'int' to 'const char*'


上述 的解釋


賦值 = 和構造函數的區別


string a=3; 調用的 是 構造函數


a=3; 調用的 是= 操作符


查看 string 官方文檔

http://www.cplusplus.com/reference/string/string/string/


構造函數:

default (1)
string();
copy (2)
string (const string& str);
substring (3)
string (const string& str, size_t pos, size_t len = npos);
from c-string (4)
string (const char* s);
from sequence (5)
string (const char* s, size_t n);
fill (6)
string (size_t n, char c);
range (7)
template <class InputIterator>
  string  (InputIterator first, InputIterator last);


賦值 =:

string (1)

string& operator= (const string& str);

c-string (2)

string& operator= (const char* s);

character (3)

string& operator= (char c);


看到 “=” 分為兩種情況:

  1. = operator 

  2. copy constructor


如果新定義一個對象,一定會調用構造函數/拷貝構造,不會調=操作,

舉例 string a="fdjhf", a 是定義,會調用其構造函數


沒有新對象定義

string a,b;a=b; 這里調用 = 操作符

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临猗县| 留坝县| 健康| 伊吾县| 游戏| 集安市| 波密县| 彭泽县| 柳林县| 黄平县| 沙河市| 万年县| 高清| 仪陇县| 西吉县| 奉化市| 遂川县| 仲巴县| 和政县| 敦煌市| 体育| 凉山| 水城县| 夹江县| 安陆市| 大理市| 靖安县| 玉环县| 桦川县| 和平区| 莎车县| 长沙县| 盘锦市| 德钦县| 定南县| 平凉市| 南靖县| 泸西县| 玉山县| 林周县| 屏东县|