ほとんどの人が a のサイズを見つける方法string
は、 を使用するだけでmy_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を実行しています。