-
#include
有了這句話,就不能有使用命名空間 std;
因為沒有命名空間 std。
如果它包括
您需要使用命名空間 std;
這被規範化為 C++,命名空間帶有 std,然後 main 函式需要返回乙個數值。 加 return 0;
此外,程式不會暫停,您不會看到輸出。
程式應如下所示:
#include
using namespace std;
int main()
cout<<"hello!";
cout<<"welcome to c++!n";
system("pause");
return 0;
或包括
int main()
cout<<"hello!";
cout<<"welcome to c++!n";
system("pause");
return 0;
-
循序漸進? 一步操作。 按 F9 到要開始逐步執行的點,它會新增乙個斷點,然後按 F9 斷點將其刪除。
然後編譯它,按 f10 它會停在你的斷點處,然後再次按 f10,依此類推一步步,你也可以同時看到輸出。 如果不想新增斷點,還可以將游標游標到要檢視的語句,按 Ctrl+F10 直接執行到此行,然後按 F10 逐步。 吼。
別緊張。 少了,你會有很多樂趣按壓。
-
#include
#include
using namespace std;
int main() 這裡 int 是函式有乙個返回值,如果是 void,則不返回值。
cout<<"hello!";
cout<<"welcome to c++!n";
system("pause");使用這句話在直接點選執行生成的exe程式時暫停,這樣你就有機會看到輸出,否則程式一執行就返回0; 程式已經完成,而且速度如此之快,以至於您根本看不到任何東西。 在 IDE 中單擊 “Run”(執行)時,預設程式在完成執行後將暫停,並且可以不使用 system("pause");
return 0;
-
這是 NEAR 指標和 FAR 指標的問題,預設情況下,FAR 指標是 NEAR 指標。
在DOS(實模式)中,位址是分段的,每個段長64k位元組,正好是16位(二進位為16位)。
近指標的長度為 16 位,因此可以指向的位址範圍為 64k 位元組,近指標的定址範圍通常為 64k。
遠指標的長度為 32 位,它包含乙個 16 位基址和乙個 16 位偏移量,將基址乘以 16 並將其新增到偏移量中(因此遠指標實際上長度為 20 位)。 ) 獲取遠指標 1M 位元組的偏移量。所以FAR指標的定址範圍是1M位元組,超過了64K段的容量。
例如,如果遠指標的段位址為0x7000且偏移量為0x1244,則指標指向該位址0x71224如果 FAR 指標的段位址為0x7122且偏移量為0x0004,則指標也指向位址0x71224。
如果未將指標指定為“近”或“遠”,則預設值為“近”。 因此,應顯式指定 FAR 指標。 FAR 指標的工作速度稍慢,因為每次訪問 FAR 指標時,都會交換來自資料段或程式段的資料。
此外,FAR指標的操作也是異常的,例如,上面提到的FAR指標指向同乙個位址,但對比結果不同。
何時使用 FAR 指標?
使用小型或小型資料儲存模式時,無法編譯具有大量資料或資料的程式。 因為在 64k 的段中,你不能放下所有的 ** 和資料。 要解決此問題,您需要指定這部分空間(64k 以外的空間)應與 far 函式或 far 指標一起使用。
許多庫函式都以顯式指定為 FAR 函式的形式出現。 FAR 指標通常與記憶體分配函式(如 farmalloc())結合使用。
-
我對此了解不多,但 C 不知道。
-
這是通常推薦的學習順序。
MFC 是 Windows 下的一種程式設計模式,或者是一組 Windows 程式設計庫,MFC 是基於 Windows 程式設計的,但 Windows 程式設計還有很多其他分支。
Windows 程式設計是基礎,是的,但學習 MFC 並不需要完全掌握 Windows 程式設計(因為這是乙個非常大的程式設計系統,遠不止 MFC 內容),你需要了解基本概念,主要是訊息和視窗機制,以及後面的執行緒和元件機制。
MFC必然是C++,Windows程式設計的設計,這是語言之外的,它屬於基礎庫,可以使用的語言有很多種。
MSDN 是 Windows 下最重要的程式設計幫手工具,Microsoft Visual Studio 下的所有程式設計環境都必須使用,不僅是 VC MFC,而且 CodeBlocks 可以參考 MSDN 的 C++ 部分,而其他的則不能,因為這不是 Microsoft 的東西,它不匹配。
Windows 程式設計有很多型別,Windows 是主要的,包括驅動程式、服務、元件等。
Win7可以使用VC6,Win8可以湊合著下半部分,但是不穩定,不推薦。
MFC 必然是 VC++,它是不可或缺的一部分,當然也可以使用 VS2013 什麼的,因為 VC 是 VS 的一部分。
慢慢學剩下的,你不可能一下子理解很多,程式設計是一條漫長的路,耐心是關鍵。
-
任何像 (i++)i++)j)+(j) 這樣的表示式都屬於未定義行為。也就是說,C 標準沒有指定應該如何評估此類表示式,而是由編譯器決定的,因此它們的結果是不確定的且不可移植的,使它們成為糟糕的表示式。
不要試圖研究這樣的表示式,也不要在實際程式設計中編寫它們。 注意不要在語句中多次修改同一物件,否則將導致未定義的行為。
-
這不得不從另乙個方面說:乙個是語言本身,另乙個是平台本身。
首先,從語言本身的角度來看。
C++是一種標準的程式語言,無論我們用什麼樣的開發環境來開發C++程式,我們都需要那個環境來支援C++標準,也就是說,我們需要乙個合適的編譯器將C++語言翻譯成組合語言,然後翻譯機器語言。 所以問題來了,C++標準不是一成不變的,它是在不斷修改的,甚至對於同一版本的C++標準,不同的平台對它的支援程度也不同,一般來說,Linux平台對C++標準的支援比Windows更好。 舉個不恰當的例子,如果 C++ 標準定義了乙個功能 F(代表虛函式等),那麼 F 在平台 A 上不受支援,但在平台 B 上支援 F。
因此,您將在平台 A 上編寫 C++ 程式,但 C++ 的一些高階功能您永遠沒有機會使用。
因此,VC++ 可以看作是 C++ 的乙個子集。
第二,從平台的角度來看。
名稱 VC++ 應派生自 Visual Studio C++,即在 VC++ 整合開發環境中開發。 如果你在編寫程式時不使用標準的 C++ 庫,而是使用 Microsoft 新增的這些附加庫,那麼你編寫的 C++ 程式非常有限,你實際上只是在 Windows 平台下呼叫 Windows API 來編寫程式,只使用 C++ 語法,並不使用C++的所有資源。
-
例如,如果您要使用 string 類,您會實現 string 類嗎?