typedef int - >整数。我可以做cout->在C++中打印吗?
如何使用typedef将整数或char等变量定义为字符。有没有什么办法可以做到这一点,所以我可以在C++中使用Print而不是cout?typedef int - >整数。我可以做cout->在C++中打印吗?
std::cout
是一个对象。
您可以使用参考给它另外一个名字:
std::cout << "Hello ";
std::ostream& Print = std::cout;
Print << "world\n";
但是,恩,请不要。大多数std::cout
是和现在很好理解;将它隐藏在另一个名称后面,只是为了混淆而引入混淆。
号
一般来说,您有
-
using
(或typedef
),用于类型别名 - 为变量别名
- 内联函数(或宏),用于函数引用别名
所以一个内联函数可能是一个好的改变原生你的情况(Print
听起来像一个函数):
template<typename T>
inline void Print(T const& stuff)
{
std::cout << stuff;
}
int main()
{
Print("Hello");
Print(42);
Print("world");
}
现在你可以如通过更改代码中的单行,轻松地更改所有使用Print
打印到std::cerr
而不是std::cout
的所有内容。
我可以在头文件中定义我自己的用途吗?这只是为了便于阅读。 – Rohan
是的,你可以。为什么不?虽然请注意,为了将函数定义放在头文件中,需要标记为“inline”。否则,该定义需要位于.cpp文件中,并且只有其声明才能出现在标题中。 – emlai
请记住,如果您尝试传入'std :: endl',则此方法将失败。 – fuzzything44
'cout'不是一种类型。 'int'和'char'都不是函数。 –
'cout'也不是一个函数。 – emlai
对不起。那是我的不好。我的意思是变量 – Rohan