【发布时间】:2017-05-29 10:03:51
【问题描述】:
是否可以在没有 .net 框架的情况下在 C++ 中编写类似 Console::WriteLine() 的方法? 我想做的是这样的:
Console::WriteLine("Hello! " + "This PC is " + Convert::ToString(3) + " years old!");
.net framework 版本貌似可以在msdn.com上做char[] + char[]?
编辑:有什么我可以告诉 GCC 的吗?也许将字符串类用于“”声明而不是字符数组?
EDIT2:我正在尝试编写自己的函数。所以不,我不会使用cout。
EDIT3:唯一真正的问题是是否可以做到"Hello! " + "This PC is " + string("3")。我知道string("3") + " hello " + "PC!" 有效,因为字符串类的+ Operator 会将string("3") 添加到" hello " 并将其转换为string,然后将string("3 hello ") 添加到"PC!" 并将其转换为@ 987654333@.
【问题讨论】:
-
@Someprogrammerdude 我不希望 C++ 像 C# 一样工作。我只是想尝试用 C++ 编写一些像 C# 函数一样工作的函数。尽管如此,.net 框架中有一个 C++ 版本的 Console::WriteLine()(参见 msdn-link)。
-
@MathiLpHD 该“版本”适用于 C++/CLI,不是本机 C++。
-
@AlgirdasPreidžius 我知道,这就是为什么我问是否可以在没有 .net 框架的情况下编写它 => 没有 C++/CLI
-
在 C++ 中,您通常使用
std::ostringstream来格式化字符串。可以在some_function((std::ostringstream() << "Hello" << 3 << "world").str())中内联完成