簡體   English   中英

無法理解“std::cout”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM