返回值會出現隨機情況

2021-06-29 04:01:55 字數 912 閱讀 2237

無意中在測試**的時候,出現的乙個小情況

debug情況一切正常,release就不對了

問題是這樣的(因為忽略掉了乙個warning):

具體的login**如下:

bool csendmail::login(mailuserinfo &mail_user_info)

if (!logon(sock_)) // 登入郵箱

}

測試**如下:

cout << "111111111" << endl;

mail_content_.mailbox_sender_show_name = new char[strlen("hr") + 1];

cout << "222222222" << endl;

strcpy(mail_content_.mailbox_sender_show_name, "hr");

cout << "33333333333" << endl;

// 在這進行郵箱的登入

if (mail_.login(mail_user_info_) == false)

cout << "555555555" << endl;

直接編譯的時候debug沒任何問題

release就有問題了:

仔細一檢視,原來是返回值出現的問題

差不多可以得出結論了:

debug的bool返回值預設為true,而release版本的bool返回值則預設為false

PS 陣列返回值,出現數字情況

ps的function 返回值 定義陣列時有兩種方法 第一種方法 ss new object system.collections.arraylist ss.add marc a 111 m1 第二種方法 cc cc marc a 111 m1 問題一,在陣列傳出時,把陣列個數也傳出來了,解析麻煩。...

函式返回值的情況

在乙個函式的內部,return 的時候返回的都是乙個拷貝,不管是變數 物件還是指標都是返回拷貝,但是這個拷貝是淺拷貝。1.如果返回乙個基本型別的變數,比如 int a a 5 return a 那麼就會 a的乙個拷貝,即 5返回,然後 a就被銷毀了。儘管 a被銷毀了,但它的副本 5還是成功地返回了,...

函式返回值的幾種情況

在乙個函式的內部,return 的時候返回的都是乙個拷貝,不管是變數 物件還是指標都是返回拷貝,但是這個拷貝是淺拷貝。1.如果返回乙個基本型別的變數,比如 int a a 5 return a 那麼就會 a的乙個拷貝,即 5返回,然後 a就被銷毀了。儘管 a被銷毀了,但它的副本 5還是成功地返回了,...