知道原因了,
ios 重載了 ! 運算子,成呼用 fail() 函數


bool __CLR_OR_THIS_CALL operator!() const
{ // test if any stream operation has failed
return (fail());
}




初學 C++,若不是我的表達能力很差就是我的基本概念還沒有懂,地基沒打好

jimmypp wrote:
聽說這裡神人比較多...(恕刪)
if(),()括號內有多種判斷型態,差別在此而已

jimmypp wrote:
知道原因了,ios...(恕刪)


好好看一看一些基本概念的書,網頁。 你之前的問題我沒回答的問題,在你有一些概念後,就容易解釋了。 以下給你兩個連結你自己看就知道為什麼了

----------------

而且若我宣告個 bool b1;

b1 = InputFile;

錯誤 C2440 '=': 無法由 'std::ifstream' 轉換為 'bool'
從 "std::ifstream" 到 "bool" 之間沒有合適的轉換函式存在


但寫 b1 = !InputFile; 確又可以通過編譯

-----------------

http://www.cplusplus.com/doc/oldtutorial/typecasting/

http://www.cplusplus.com/doc/tutorial/typecasting/

在二進位的電腦裡(就是我們一般用的電腦。 量子電腦不一樣),你需要想想資訊怎麼儲存的。 在記憶體裡還是在檔案裡。 去了解一下這兩個字的不同
bit (boolean用)
byte (char, int, float, double, etc.)

好好了解後,以後就不會有這方面的問題了。 要不然類似問題會一直出現。

pointer 簡而言之,就是指向一個"位置,住址"。 資料在記憶體裡就給你記憶體住址。 資料在檔案裡,就給你檔案的位址(OS負責找到在那個硬碟/儲存物體上,哪個檔案,甚至在檔案的哪裡)
justdreamer wrote:
好好看一看一些基本...(恕刪)


請問 j大
我讀到物件的章節,
我認為只要 class 沒牽扯到 virtual 的話,其實就跟 struct 是完全一樣的,其差別只在於 Compiler 這關會不會過而己。
若 Compiler 能過的話,其生成的代碼其實是完全一樣的。對不對?
所以沒用到 virtual 的話其實完全可以用 struct 來呈現。

所以下列2者(class vs struc)的代碼是一樣的。


struct TestStruct {
  int i;
  void Func_Inc() { i++; }
};
//------------------------------------
class TestClass {
 private:
  int i;
 public:
  void Func_inc() { i++; }
};
//------------------------------------
int main()
{
 TestClass tc;
 TestStruct ts;

 tc.Func_inc();
 ts.Func_Inc();
 return 0;
}
jimmypp wrote:
請問 j大我讀到物...(恕刪)


https://stackoverflow.com/questions/12775169/c-are-structs-really-the-same-as-classes

多看點書,多自己先找資料。 要不然問題是永遠問不完的。

我當初是已經有點基礎才開始看C的"聖經", K&R的C語言。 自己先找答案,真的不行再問人。 我的C++是因為後來工作關係,開始趕快自學,已經忘記是用哪本書了。 那時候C++才出來沒多久。 當初在四年內,寫程式從PASCAL到C到C++。

加油,先自己找答案,真的不行的話,去找老師。
其實,有些太過細節的東西是看compiler怎麼處理

compiler也是人寫的,遵照標準寫出來的,
但標準沒提到的小細節呢? 不同的compiler就可能採取不同的處理方法

文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!