似乎大多数人找到 a 大小的方式string
是他们只使用 themy_string.size()
并且它工作正常。好吧,我最近在我做过的课程上做了一个作业......
if (size(my_string) < 5)
store[counter].setWeight(stoi(my_string));
代替....
if (my_string.size() < 5)
store[counter].setWeight(stoi(my_string));
但令我惊讶的是,我认为正在运行旧编译器的讲师无法运行那行代码。在我的编译器上它可以双向工作,我不太清楚为什么。
一个完整的程序(两者都输出 4):
#include <string>
#include <iostream>
using namespace std;
int main()
{
string myvar = "1000";
cout << "Using size(myvar) = " << size(myvar) << endl;
cout << "Using myvar.size() = " << myvar.size() << endl;
}
如果有人能解释为什么我的问题解决方案适用于我的机器而不是我的教授?另外,我目前正在运行 VS2015。