Estoy usando std::atomic<unsigned int>
en mi programa. ¿Cómo puedo imprimir su valor usando printf
? Porque no funciona si solo uso %u
. Sé que puedo usar cout
, pero mi programa está lleno de llamadas printf
y no quiero reemplazar cada una de ellas. Anteriormente estaba usando unsigned int
en lugar de std::atomic<unsigned int>
, así que solo estaba usando %u
y, por lo tanto, la impresión funcionaba bien.¿Cómo puedo imprimir el valor de std :: atomic <unsigned int>
6
A
Respuesta
13
template<typename BaseType>
struct atomic
{
operator BaseType() const volatile;
}
Utilice un tipo de transmisión para extraer el valor subyacente.
printf("%u", unsigned(atomic_uint));
Cuestiones relacionadas
- 1. Cómo usar std :: atomic eficientemente
- 2. std :: atomic | compare_exchange_weak vs. compare_exchange_strong
- 3. cómo imprimir el valor de std :: map en gdb
- 4. Conversión (void *) a std :: vector <unsigned char>
- 5. std :: move entre std :: string y std :: vector <unsigned char>
- 6. Copie convenientemente std :: vector <unsigned char> al objeto de entrada de flujo (std :: istream)
- 7. std :: atomic support en g ++ 4.4.3
- 8. (lldb) Imprimir unsigned long long en hexadecimal
- 9. const unsigned char * to std :: string
- 10. Inicialización de std :: vector <unsigned int> con una lista de enteros sin signo consecutivos
- 11. unsigned long 0 <-1?
- 12. C# unsigned int valor predeterminado
- 13. ¿Cómo puedo imprimir el valor máximo de un entero sin signo?
- 14. ¿Cómo inicializar e imprimir una std :: wstring?
- 15. Imprimir el valor de una variable XSL
- 16. ¿Por qué las especializaciones std :: atomic <integral> no proporcionan operadores de asignación de multiplicación y división?
- 17. Imprimir el valor de un valor booleano en Log
- 18. const char * vector <unsigned char> Initalisation
- 19. Ordenar un std :: vector <std :: pair <std :: string, bool >> por la cadena?
- 20. Alineación de C++ al imprimir cout <<
- 21. impresión unsigned long long int Tipo Valor Devuelve resultados extraños
- 22. ¿Cómo imprimir el valor de la consola en mi Eclipse?
- 23. ¿Por qué el calificador volátil se usa a través de std :: atomic?
- 24. ¿Cómo puedo construir un archivo std :: vector <std::string> y luego ordenarlos?
- 25. Cómo imprimirf "unsigned long" en C?
- 26. Obteniendo el valor de std :: list <> :: iterator to pointer?
- 27. std :: vector <std::string> crash
- 28. Cómo iterar std :: set?
- 29. Cómo guardar `std :: vector <uchar>` en `std :: ostream`?
- 30. Cómo citar el std :: basic_string <TCHAR>
que podría ayudar si usted nos muestra el código que ha intentado, y cómo no funcionó (mensaje de salida o error) – crashmstr
'std :: atómica <>' 'tiene una carga()' para la función de miembro leyendo el valor (atómicamente :-). Puedes usar ese. –
¿Realmente necesitas una variable atómica? 'std :: atomic' es para ordenar acceso de memoria a la variable para problemas de concurrencia. – AJG85