Preguntas etiquetadas con c++

C ++ es un lenguaje de programación de propósito general. Originalmente fue diseñado como una extensión de C y tiene una sintaxis similar, pero ahora es un lenguaje completamente diferente. Use esta etiqueta para preguntas sobre el código (que se compilará) con un compilador de C ++. Utilice una etiqueta específica de la versión para preguntas relacionadas con una revisión estándar específica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], etc.


1
¿Por qué std :: span carece de operadores de comparación?
¿No fue std::spandiseñado como una referencia ligera para subregiones de std::vector/ std::array/ matriz simple y similares? ¿No debería contener también operadores de comparación en su API, para ser coherentes con ellos? ¿Cuál fue el razonamiento detrás de la exclusión? Nota: los operadores de comparación, es decir, ya sea el conjunto …
10 c++  std  c++20  std-span 



3
¿Se puede convertir nullptr a uintptr_t? Diferentes compiladores no están de acuerdo
Considere este programa: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } No se pudo compilar con msvc v19.24: <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to …
10 c++  c++11  gcc  visual-c++  clang 


1
Problema en GCC / C ++ 17 con la clase de plantilla de plantilla
Considere las 2 siguientes sobrecargas template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } El primero funciona para clases regulares, mientras que el segundo funciona para plantillas que no se instancian. Por ejemplo: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields …
10 c++  templates  gcc  clang  c++17 

4
¿Por qué devolver NULL desde main ()?
A veces veo codificadores que usan NULLcomo valor de retorno de programas main()C y C ++, por ejemplo, algo así: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Cuando compilo este `código con gcc me sale la advertencia de: advertencia: return hace entero desde el puntero sin conversión [-Wint-conversion] …
10 c++  c  null  return  return-value 


1
¿Podremos construir contenedores con vistas en C ++ 20?
Los rangos están llegando a C ++ con la versión estándar C ++ 20. Mi pregunta: ¿podremos construir contenedores de biblioteca estándar (existentes) con algún rango? Y lo más importante, ¿con vistas de rango? Por ejemplo, esto: #include <vector> #include <iostream> #include <ranges> int main() { auto sq = [](int …
10 c++  c++20  range-v3 

1
Pérdida de memoria durante un_orped_map :: inserte la excepción KeyEqual con GCC - ¿rompiendo la fuerte garantía de seguridad de excepción?
Estoy usando GCC 7.3.1, pero también probé en coliru, que creo que es la versión 9.2.0. Construir con lo siguiente: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Aquí está rai.cpp: #include <iostream> #include <unordered_map> int main() { try { struct MyComp { bool operator()(const std::string&, const std::string&) const { throw std::runtime_error("Nonono"); } }; …


1
¿Qué significan ^ () {} y ^ {} en C ++?
Recientemente leí un código C ++ como este: setData(total, &user, ^() { struct dst_t to = {ip, port}; sendData(to, data); }); getData(total, ^{ recvData(data, NULL); }); Nunca he visto ^() {}ni ^{}. ¿Qué quieren decir? ¿Algún tipo de función anónima?
10 c++ 



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.