lea*_*vst 0 string matlab operator-overloading
在Matlab中,以下语句给出了数字输出..
>> 'abc' + 'def'
ans =
197 199 201
Run Code Online (Sandbox Code Playgroud)
在C++中,输出如下
std::string("abc") + std::string("def")
Run Code Online (Sandbox Code Playgroud)
...会给予可能更有用的......
abcdef
Run Code Online (Sandbox Code Playgroud)
多一点探索给..
>> a = 'abc'
a =
abc
>> whos
Name Size Bytes Class Attributes
a 1x3 6 char
Run Code Online (Sandbox Code Playgroud)
这表明我的变量a是一种char类型.但是,我们知道这不等同于C类型的char,因为它是一个知道其大小尺寸等的对象.
因此,我的问题是:这个数字输出有什么用?
...导致
为什么他们会把它设计得像那样?
因为Matlab中的字符串实际上只是一个char类型的数组,所以它相当于:
[97 98 99] + [100 101 102]
Run Code Online (Sandbox Code Playgroud)
它并非一成不变,+意思是"连接".如果你想在Matlab中进行字符串连接,你总是可以这样做:
['abc' 'def']
Run Code Online (Sandbox Code Playgroud)