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.

1
In che modo si intende implementare shift_right () in C ++ 20?
In C ++ 20, l' <algorithm>intestazione ottiene due nuovi algoritmi: shift_left()eshift_right() . Entrambi accettano qualsiasi LegacyForwardIterator. Per shift_left(), si specifica che "le mosse vengono eseguite in ordine crescente a ipartire da ​0"; per shift_right(), si specifica che "se ForwardItsoddisfa i requisiti LegacyBidirectionalIterator, le mosse vengono eseguite in ordine decrescente a …


1
incoerenza clang / gcc nella specializzazione di classe
Mi sono imbattuto in questo problema durante il tentativo di specializzarmi tuple_size/ tuple_elementper una classe personalizzata in C ++ 17 per l'associazione strutturata. Il codice seguente viene compilato in GCC, ma non in clang (entrambe le versioni del trunk, vedere il link seguente). #include <type_traits> template<typename T, typename... Ts> using …



1
New (this) ThisClass () è una cattiva idea?
class FooView final : public Something { ... void refresh() { this->~FooView(); new (this) FooView(); } } Non ho mai visto questo idioma, e sembra che potrebbe essere davvero sottile e disordinato, ma in realtà non riesco a pensare a un problema con esso (finché FooViewè definitivo). È una cattiva …





1
Modo corretto per restituire un puntatore a un `nuovo` oggetto da una funzione Rcpp
Considerare 1) una classe personalizzata con una memoria di memoria potenzialmente grande e 2) una funzione di livello superiore che esegue alcune preelaborazioni, quindi crea e restituisce un nuovo oggetto della nostra classe personalizzata. Per evitare copie non necessarie per valore, la funzione alloca l'oggetto e restituisce invece un puntatore …
9 c++  r  rcpp 

1
Cercare di capire i modelli e la ricerca dei nomi
Sto cercando di comprendere i seguenti frammenti di codice Snippet n. 1 template <typename T> struct A { static constexpr int VB = T::VD; }; struct B : A<B> { }; Né gcc9 né clang9 generano un errore qui. D. Perché viene compilato questo codice? Non stiamo istanziando A<B>quando ereditiamo …


1
Come impedire la modifica dei dati dell'array?
Supponiamo che io abbia una classe simile a questa (questo è solo un esempio): class A { double *ptr; public: A() : ptr( new double[100] ) {} A( const A &other ) { other.ptr[7] = 15; } void doNotChangeMyData() const { ptr[43] = 14; } void changeMyData() { ptr[43] = …
9 c++  const 


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.