Articles of std

¿Por qué recibo cadena? ¿No nombra un tipo Error?

game.cpp #include #include #include #include “game.h” #include “board.h” #include “piece.h” using namespace std; juego.h #ifndef GAME_H #define GAME_H #include class Game { private: string white; string black; string title; public: Game(istream&, ostream&); void display(colour, short); }; #endif El error es: game.h:8 error: ‘string’ does not name a type game.h:9 error: ‘string’ does not name a […]

¿Por qué alguna vez usaría push_back en lugar de emplace_back?

Los vectores C ++ 11 tienen la nueva función emplace_back . A diferencia de push_back , que se basa en las optimizaciones del comstackdor para evitar copias, emplace_back utiliza reenvío perfecto para enviar los argumentos directamente al constructor para crear un objeto in situ. Me parece que emplace_back puede hacer todo lo que push_back puede […]

Cómo truncar un archivo mientras está abierto con fstream

Sé que es posible truncar un archivo con std::fstream fs(mypath, std::fstream::out | std::fstream::trunc); pero necesito leer el archivo, truncarlo, luego escribir nuevos contenidos con el mismo manejador de archivo (para que toda la operación sea atómica). ¿Nadie?

Pasando rvalues ​​a través de std :: bind

Quiero pasar un valor r a través de std::bind a una función que toma una referencia rvalue en C ++ 0x. No puedo entender cómo hacerlo. Por ejemplo: #include #include template void foo(Type &&value) { Type new_object = std::forward(value); // move-construct if possible } class Movable { public: Movable(Movable &&) = default; Movable &operator=(Movable &&) […]

std :: put_time estado de implementación en GCC?

Estaba intentando comstackr este progtwig de ejemplo usando GCC (versiones probadas 4.5.1, 4.6.3, 4.8.4): #include #include #include #include using std::chrono::system_clock; int main() { system_clock::time_point now = system_clock::now(); std::time_t now_c = system_clock::to_time_t( now – std::chrono::hours(24)); std::cout << "One day ago, the time was " << std::put_time(std::localtime(&now_c), "%F %T") << '\n'; } Pero me dice: prog.cpp: In […]

Android ndk std :: to_string support

Estoy usando android NDK r9d y toolchain 4.8 pero no puedo usar la función std :: to_string, el comstackdor arroja este error: error: ‘to_string’ is not a member of ‘std’ ¿Esta función no es compatible con Android ndk? Intento APP_CPPFLAGS := -std=c++11 sin suerte.

¿Cuándo es necesario usar use the flag -stdlib = libstdc ++?

¿Cuándo es necesario utilizar el flag -stdlib=libstdc++ para el comstackdor y el enlazador al comstackr con gcc? ¿El comstackdor usa automáticamente libstdc ++? Estoy usando gcc4.8.2 en Ubuntu 13.10 y me gustaría usar el estándar c ++ 11. Ya paso -std=c++11 al comstackdor.

Ordenar un std :: vector <std :: pair > por la cadena?

¿Cómo puedo ordenar este vector comparando el pair.first que es std::string ? (sin proporcionar una función de comparación estática, ni usar boost).

¿Cómo crear una función std :: a partir de una expresión lambda que captura movimiento?

Estoy intentando crear una std::function partir de una expresión lambda que captura movimiento. Tenga en cuenta que puedo crear una expresión lambda de captura de movimiento sin problemas; es solo cuando bash envolverlo en una std::function que me sale un error. Por ejemplo: auto pi = std::make_unique(0); // no problems here! auto foo = [q […]

¿Podemos confiar en el truco de reducir la capacidad?

¿Está realmente garantizado que el siguiente truco de reducción de capacidad “funcionará”? int main() { std::string s = “lololololol”; s = “”; // capacity still non-zero string(s).swap(s); // ? } No parece “funcionar” para mí (porque la capacidad no es cero), y no puedo encontrar nada en el estándar que diga nada más que que […]