簡體   English   中英

我如何更改 std::cout

[英]How do i change std::cout

#include <iostream>
#include <string>

using FText = std::string;
using Print = std::cout;

int main()
{
    FText Submission1 = 0;
    FText Submission2 = 0;
    FText Operator = "";




    return 0;
}

如你所見,我做到了

using FText = std::string

為什么我不能替換 std::cout,最令人困惑的是我得到的錯誤“在命名空間 'std' 中沒有名為 'cout' 的類型”

任何專業編碼人員都可以幫助我,我是初學者我不喜歡輸入所有如果 std::cout 我設法更改字符串但 cout 不起作用

我正在使用 xcode

您可以使用usingtypedef類型引入新名稱。
std::string是一種類型,這兩個是等價的:

using FText = std::string;
typedef std::string FText;

但正如編譯器所說, std::cout不是一個類型(它是一個變量)。

您可以使用引用為std::cout引入新名稱:

int main()
{
    auto& Print = std::cout;
    Print << "Hallo, Word!";
}

如果您不喜歡名稱空間說明符的外觀,您可以執行以下操作:

int main()
{
    using std::cout;

    cout<< "Hallo, Word!";
}

您可以創建一個新類,比如打印類,而不是覆蓋 << 插入運算符,而不是使用該類的對象進行打印。

class print{
public:
    int a;

    void operator<<(print &obj){
        cout<<obj.a<<endl;
    }

};

print obj;
obj.a =1;
obj<<obj;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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