Domande taggate «c++»

C ++ è un linguaggio di programmazione generico. È stato originariamente progettato come estensione di C e ha una sintassi simile, ma ora è un linguaggio completamente diverso. Utilizzare questo tag per domande sul codice (da compilare) compilato con un compilatore C ++. Utilizzare un tag specifico della versione per domande relative a una revisione standard specifica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], ecc.


7
Come chiamare la funzione C ++ da C?
Lo so. Chiamare la funzione C da C ++: Se la mia applicazione fosse in C ++ e avessi dovuto chiamare funzioni da una libreria scritta in C. Allora avrei usato //main.cpp extern "C" void C_library_function(int x, int y);//prototype C_library_function(2,4);// directly using it. Questo non altererebbe il nome C_library_functione il …
84 c++  c  visual-c++  extern-c 




3
__cdecl o __stdcall su Windows?
Attualmente sto sviluppando una libreria C ++ per Windows che verrà distribuita come DLL. Il mio obiettivo è massimizzare l'interoperabilità binaria; più precisamente, le funzioni nella mia DLL devono essere utilizzabili da codice compilato con più versioni di MSVC ++ e MinGW senza dover ricompilare la DLL. Tuttavia, sono confuso …


2
Come viene implementato std :: is_function?
Come è la seguente un'implementazione per std::is_function ? template<class T> struct is_function : std::integral_constant< bool, !std::is_const<const T>::value && !std::is_reference<T>::value > {}; (a partire dal riferimento CPP ) Mi sembra che intsarebbe una funzione in base a questa definizione. Cosa mi sto perdendo?
82 c++  templates  std  sfinae 




10
Usando std :: vector come vista sulla memoria grezza
Sto usando una libreria esterna che ad un certo punto mi dà un puntatore non elaborato a una matrice di numeri interi e dimensioni. Ora vorrei utilizzare std::vectorper accedere e modificare questi valori sul posto, anziché accedervi con puntatori non elaborati. Ecco un esempio articolare che spiega il punto: size_t …
71 c++  c++11  vector  stdvector 


3
Il programma multithreading è bloccato in modalità ottimizzata ma funziona normalmente in -O0
Ho scritto un semplice programma di multithreading come segue: static bool finished = false; int func() { size_t i = 0; while (!finished) ++i; return i; } int main() { auto result=std::async(std::launch::async, func); std::this_thread::sleep_for(std::chrono::seconds(1)); finished=true; std::cout<<"result ="<<result.get(); std::cout<<"\nmain thread id="<<std::this_thread::get_id()<<std::endl; } Si comporta normalmente in modalità debug in Visual Studio …

2
Come funziona questo codice modello per ottenere le dimensioni di un array?
Mi chiedo perché questo tipo di codice possa ottenere le dimensioni dell'array di test? Non ho familiarità con la grammatica nel modello. Forse qualcuno potrebbe spiegare il significato del codice sotto template<typename,size_t>. Inoltre, è preferito anche un collegamento di riferimento. #define dimof(array) (sizeof(DimofSizeHelper(array))) template <typename T, size_t N> char(&DimofSizeHelper(T(&array)[N]))[N]; void …
61 c++  visual-c++ 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.