Articles of plantillas de

Cómo usar hilos con una función de plantilla recursiva

He estado tratando de optimizar un algoritmo de clasificación (quicksort) con hilos. Sé que ya es bastante bueno en la implementación de std :: sort (), pero estoy tratando de mejorarlo con optimizaciones en mi computadora, y al mismo tiempo aprender sobre temas. Entonces, mi pregunta es, ¿cómo uso los hilos con mi función de […]

Bloque de tiempo de comstackción generado en C ++

Tengo una estructura en mi servidor que me gustaría generarla con macro o plantilla en C ++, ya que tiene muchas cosas redundantes: struct MyBlock { void Merge(const MyBlock& from) { if (apple.HasData()) { apple.Merge(from.apple); } if (banana.HasData()) { banana.Merge(from.banana()); } … } void Clear() { apple.Clear(); banana.Clear(); … } void Update(const SimpleBlock& simple_block) { […]

El vinculador C ++ 03 “símbolo ya definido” no aparece en el archivo intermedio

Tengo un problema con un gran proyecto en Visual Studio 2005 en el que me he quedado sin ideas. Ni siquiera puedo poner un fragmento de código de trabajo porque no sé qué está relacionado, pero intentaré: Necesitaba hacer que cada archivo .cpp en mi proyecto tenga su propio número de ID y crear una […]

Cómo envolver una biblioteca de funciones C que funciona con diferentes tipos numéricos en una clase de plantilla C ++

Quiero usar el código de una biblioteca de C (mi ejemplo específico: FFTW ) para implementar una plantilla de clase C ++. La biblioteca C define algunos tipos de datos y funciones que hacen lo mismo, pero en diferentes tipos de tipos numéricos primitivos, por ejemplo, fftw_complex (par de dobles) vs. fftwf_complex (par de flotadores); […]

Comstackr tablas generadas por el tiempo.

Gracias a algunos trucos, puedo generar una tabla en tiempo de comstackción, aunque los valores de la tabla no son muy útiles. Por ejemplo, una tabla 5×5 se ve así: 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, 1,2,3,4,5, Donde los commas son para propósitos de claridad. El código que crea esta tabla es el siguiente: #include using ll […]

Sobrecarga de la función de plantilla para la clase base

¿Cómo fuerzo al comstackdor a recoger una sobrecarga de la función de plantilla para una clase base? Aquí hay un ejemplo que ilustra la pregunta. #include class A {}; class B : public A {}; template void f (const T& t) { std::cout << "Generic f" << std::endl; } void f (const A& a) { […]

Función especializada con plantilla.

Necesito hacer una especialización de mi función con la clase de plantilla y tener problemas con el “uso ilegal de argumentos de plantilla explícitos”. template class MyClass { /* … */ }; // it can be any template class, eg std::vector template void foo() { /* … */ } // my template function which need […]

Error del comstackdor de C ++ que involucra herencia privada

¿Podría alguien explicarme el siguiente error del comstackdor? struct B { }; template struct A : private T { }; struct C : public A { C(A); // ERROR HERE }; El error en la línea indicada es: test.cpp:2:1: error: ‘struct BB::B’ is inaccessible test.cpp:12:7: error: within this context ¿Qué es exactamente inaccesible, y por […]

Usando boost :: opcional con tipos constantes – C ++

Tengo una clase contenedora que utiliza boost::optional para mantener el valor. Aquí está el código que parece, template struct traits { typedef T value_type; typedef T& reference; }; template struct traits { typedef const T value_type; typedef const T& reference; }; template struct traits { typedef T* value_type; typedef T* reference; }; template struct traits […]

Plantilla (C ++) – no estoy seguro si es correcto

Soy estudiante y estoy haciendo una biblioteca estática para arrays en C ++, por lo que no tengo que volver a escribir el código cada vez que dure las clases. Estoy en segundo año en una escuela secundaria, así que no soy un experto. Quiero que mi código sea compatible con todo tipo (int, float, […]