¿C ++ tiene una función libre `size (object)`?
Parece que la forma en que la mayoría de las personas encuentra el tamaño de unstring
es que solo usan elmy_string.size()
y funciona bien Bueno, recientemente hice una tarea para la clase donde hice ...
if (size(my_string) < 5)
store[counter].setWeight(stoi(my_string));
En lugar de....
if (my_string.size() < 5)
store[counter].setWeight(stoi(my_string));
Pero para mi sorpresa, mi instructor, que creo que está ejecutando un compilador anterior, no pudo ejecutar esa línea de código. En mi compilador funciona en ambos sentidos y no estoy muy seguro de por qué.
Un programa completo (produce 4 para ambos):
#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;
}
Si alguien puede arrojar algo de luz sobre por qué mi solución al problema funcionó en mi máquina, pero no en mis profesores. Además, actualmente estoy ejecutando VS2015.