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.

8
¿Cuál es la mejor manera de concatenar dos vectores?
Estoy usando multihilo y quiero fusionar los resultados. Por ejemplo: std::vector<int> A; std::vector<int> B; std::vector<int> AB; Quiero que AB tenga los contenidos de A y los contenidos de B en ese orden. ¿Cuál es la forma más eficiente de hacer algo como esto?
190 c++  vector 

13
No heredarás de std :: vector
Ok, esto es realmente difícil de confesar, pero tengo una fuerte tentación en este momento para heredar std::vector. Necesito unos 10 algoritmos personalizados para el vector y quiero que sean directamente miembros del vector. Pero, naturalmente, también quiero tener el resto de std::vectorla interfaz. Bueno, mi primera idea, como ciudadano …
189 c++  oop  inheritance  stl  vector 

5
¿Cuál es el punto de noreturn?
[dcl.attr.noreturn] proporciona el siguiente ejemplo: [[ noreturn ]] void f() { throw "error"; // OK } pero no entiendo de qué sirve [[noreturn]], porque el tipo de retorno de la función ya lo es void. Entonces, ¿cuál es el punto del noreturnatributo? ¿Cómo se supone que debe usarse?


4
¿Por qué uno usaría clases anidadas en C ++?
¿Alguien puede señalarme algunos buenos recursos para comprender y usar clases anidadas? Tengo algunos materiales como Principios de programación y cosas como este IBM Knowledge Center - Clases anidadas Pero todavía tengo problemas para entender su propósito. ¿Alguien podría ayudarme por favor?

9
¿Cómo hago que la salida de CMake se convierta en un directorio 'bin'?
Actualmente estoy construyendo un proyecto con una estructura de complemento. Estoy usando CMake para compilar el proyecto. Los complementos se compilan en directorios separados. Mi problema es que CMake compila y guarda los binarios y complementos, bibliotecas dinámicas, en la estructura de directorios de la fuente. ¿Cómo hago para que …
188 c++  plugins  cmake 

10
¿Cuál es el efecto de ordenar si ... si no, si las declaraciones por probabilidad?
Específicamente, si tengo una serie de if... else ifdeclaraciones, y de alguna manera sé de antemano la probabilidad relativa de que cada declaración se evalúe true, ¿cuánta diferencia en el tiempo de ejecución representa ordenarlas en orden de probabilidad? Por ejemplo, debería preferir esto: if (highly_likely) //do something else if …

5
Argumentos de plantilla predeterminados para plantillas de funciones
¿Por qué los argumentos de plantilla predeterminados solo se permiten en plantillas de clase? ¿Por qué no podemos definir un tipo predeterminado en una plantilla de función miembro? Por ejemplo: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; En cambio, C ++ obliga a que …
187 c++  templates 



21
¿Cómo usar enumeraciones como banderas en C ++?
Tratar enums como banderas funciona bien en C # a través del [Flags]atributo, pero ¿cuál es la mejor manera de hacerlo en C ++? Por ejemplo, me gustaría escribir: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | …
187 c++  enums 

14
¿Las llaves innecesarias en C ++?
Al hacer una revisión de código para un colega hoy, vi una cosa peculiar. Había rodeado su nuevo código con llaves como esta: Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } ¿Cuál es el resultado, si lo hay, de esto? ¿Cuál …

16
¿Cómo llamo :: std :: make_shared en una clase con solo constructores protegidos o privados?
Tengo este código que no funciona, pero creo que la intención es clara: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); } …
187 c++  c++11  shared-ptr 

3
fork () se ramifica más de lo esperado?
Considere la siguiente pieza de código: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i = 0; i < 2; i++) { fork(); printf("."); } return 0; } Este programa genera 8 puntos. ¿Cómo puede ser eso posible? ¿No debería haber 6 puntos en su lugar?
186 c++  c  fork 

4
Lo que hizo i = i ++ + 1; legal en C ++ 17?
Antes de comenzar a gritar comportamiento indefinido, esto se enumera explícitamente en N4659 (C ++ 17) i = i++ + 1; // the value of i is incremented Sin embargo, en N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined ¿Qué cambió? De lo que …

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.