[英]can't understand "std::cout"
背景故事:我正在嘗試在 en.cppreference.com 上創建一個帳戶。 該過程的一部分涉及: std::cout << "ev" << 'a' 顯示的內容;
困境:我不知道那到底是什么。 我嘗試將其放入終端,但沒有任何用處。 我試着把它放在代碼中並編譯它......仍然沒有運氣。 我用谷歌搜索了它,但並沒有更深入地了解他們到底要我做什么。 最后但並非最不重要的是,我去了http://en.cppreference.com/w/cpp/io/cout
並找到了以下代碼,我也嘗試編譯但沒有運氣。
#include <iostream>
struct Foo {
int n;
Foo() {
std::cout << "static constructor\n";
}
~Foo() {
std::cout << "static destructor\n";
}
};
Foo f; // static object
int main()
{
std::cout << "main function\n";
}
嘗試編譯它導致:
[bad_cat@KittyLitter LearningCode]$ gcc input.c
input.c:1:20: fatal error: iostream: No such file or directory
#include <iostream>
^
compilation terminated.
我要做的就是克服這個問題,這樣我就可以創建一個帳戶並學習 C 編程。
這是一個 C++ 程序,您正在嘗試使用gcc
編譯器進行編譯。 使用g++
編譯器來編譯這個程序。
您在 C++ 程序中提供的代碼。 您需要將其保存為file.cpp
格式,之后您需要使用g++ file.cpp
進行編譯,它應該可以工作。
您已將其保存為file.c
格式並使用gcc
,這是 C 標准,而不是 C++。
gcc
編譯器能夠編譯 C++ 代碼,請參見此處。 我認為問題是,你用gcc input.c
編譯。 嘗試將文件名更改為input.cpp
,因為*.c
文件是 C 文件而*.cpp
文件是 C++ 文件。 您還需要告訴鏈接器,因為 C++ 不是按標准鏈接的。 所以這應該有效: gcc input.cpp -lstdc++
。 您還可以使用g++
編譯器,其中默認鏈接庫。
要回答問題的另一部分: std::cout
實際上是std::
和cout
。 std
只是控制台(在 C 中它是 stdout,我不確定它在 C++ 中是否被調用)。 cout
打印出文本。
std::cout
在控制台中打印給定的字符串。 我建議嘗試一些 C++ 的基本教程,也許這會很好。
應該工作的兩個最簡單的例子:
#include <iostream>
int main()
{
std::cout << "Hello World!";
}
第二(完全一樣):
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.