咬文嚼字 C 什麼時候會使用implicit呼叫,什麼時候會explicit呼叫?

時間 2021-06-23 02:23:45

1樓:Anonymous

explicit 指定符 - cppreference.com為啥轉換函式也能explicit呢,主要是為了解決safe bool的問題,

關於safe bool的介紹看這裡:

en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Safe_bool至於是不是只有括號才能呼叫explicit的函式呢?

不是,初始化列表(花括號)也行哦~

2樓:VizXu

按照我個人理解,隱式轉換是編譯器行為,當然你可以說這是語法級的規定,具體表現就是若表示式左右兩邊型別不一致,那麼右值會隱式轉換為左值型別。比方c語言 int a = 3.14;這時3.

14本身是乙個double型別,編譯時會隱式轉換為整型數3。這是不會報錯的,有時你會覺得這樣挺好,但是對於有些時候不報錯是很危險的事情,尤其對於cpp這種支援多型性的語言,就拿你舉的例子,string s="hello";其實編譯器幫你做了處理,首先有個tmps("hello");然後s = tmps;這樣的。

但是有時候你過載了乙個拷貝運算子(int n);這個時候你在用=來賦值是很讓人迷惑的事情,加上explicit就可以防止,會直接報錯。

c語言 b 什麼時候自減的

陳家駿 我補充一點,前 前 是立即運算,而後 後 是語句執行完再,會在當前語句執行完後再執行運算.for迴圈的括號裡一律用前 或前 因為後 後 浪費效能 總有人想害朕 包含 b 的表示式,表示式先求值,然後 b 的值自減。包含 a 的表示式,a先自增,然後表示式再求值。截圖1 表示式 b 0 可以看...

excel使用各種函式時什麼時候需要絕對引用?

彎的父 這玩意要看情況了,有些要行絕對,有些要列絕對,有個經典引用教學案例 九九乘法表,你可以試著練習練習,這個案例搞明白了就徹底明白怎麼引用了 木子 李 標準來自需求,了解公式在拖動的時候,行列的變化情況。公式的引用符號標識 如果有這個符號,就是絕對引用。沒有就是相對引用 向下拖動的時候,列不變,...

mysql 什麼時候用單列索引?什麼使用用聯合索引?

小王子 小王子 讀Mysql實戰 我們新增索引的目的是為了在我們查詢的時候可以盡量少回表,在回表的時候會產生大量的記憶體緩衝,大大降低SQl的查詢效率,所以我們在建立索引的時候,要盡量遵循主鍵建立唯一索引,聯合索引將查詢的條件,查詢的字段,還有排序或分組的字段,建立聯合索引! 范孝鵬 1,首先要確定...