System::Convert::ToString()和std::to_string()之间的区别? 我是Visual C++编程中的一个完整的NOOB,所以我不知道这是否有意义。
我正在尝试将标签文本更改为显示在表单中,因此如果我这样做:System::Convert::ToString()和std::to_string()之间的区别? 我是Visual C++编程中的一个完整的NOOB,所以我不知道这是否有意义。,c++,C++,我正在尝试将标签文本更改为显示在表单中,因此如果我这样做: int value_a = 1; int value_b = 2; System::String^ j; j = System::Convert::ToString(value_a) + ", " + System::Convert::ToString(value_b); label1 -> Text = j; 它工作得很好,但当我尝试这样做时: int value_a = 1; int value_b = 2; System:
int value_a = 1;
int value_b = 2;
System::String^ j;
j = System::Convert::ToString(value_a) + ", " + System::Convert::ToString(value_b);
label1 -> Text = j;
它工作得很好,但当我尝试这样做时:
int value_a = 1;
int value_b = 2;
System::String^ j;
j = std::to_string(valor1) + ", " + std::to_string(valor2);
label1-> Text = j;
我犯了很多错误。。。使用
string j;
或
以及在功能之间
System::Convert::ToString();
及
??
系统::字符串^j代码>是一个C++/CLI字符串,它是微软在.NET框架之上实现C++的,因此你可以用.NET语言(C语言,VB.NET)进行通信,并且仍然使用C++。^
是C++/CLI使用的垃圾收集指针。这意味着您在使用gcnew
<> >代码:ST::String 是C++标准库的字符串版本。它是本地C++,正如一些人所说的。p>
<>在C++中,每次使用“代码>新< /COD>指针时,YAK,你必须忘记调用<代码>删除< /代码>。
System::Convert::ToString
也是Microsoft的C++/CLI
std::to_string
将是C++11的等价物
实现是完全不同的,因此您不能期望使用这些不同的类型获得相同的结果 造成混淆的原因可能是您使用的是C++/CLI,因此您可以访问许多不同的字符串类型。开发C++/CLI是为了让您能够访问两个世界:
j = valor1+","+valor2;
如果要获得显式,请查看Int::ToString函数:
System::String^ j= Int32(1).ToString();
string是非托管的stl字符串。这是标准C++类,对C++和C++都适用。如果要将该类与其他.NET类一起使用,则必须封送该类。如果您试图完全停留在非托管代码中,请使用此类
如果你想学习C++,我建议现在关闭C++/CLI,并坚持标准的库字符串。< /P>两种情况下,一个是C++ + CLI,一个是标准C++。差异是意料之中的。看看文档就能回答这个问题——类型不匹配!我明白了,但是VisualStudio表单标签的文本属性似乎只接受托管字符串。。。有办法从一个到另一个吗?我有一个方便的查找表书签:[
j = valor1+","+valor2;
System::String^ j= Int32(1).ToString();