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.




4
Conversione implicita non consentita al ritorno
#include <optional> bool f() { std::optional<int> opt; return opt; } Non compilare: 'return': cannot convert from 'std::optional<int>' to 'bool' Consultazione di riferimento Avrei pensato di trovare una spiegazione, ma l'ho letto come dovrebbe essere ok. Le conversioni implicite vengono eseguite ogni volta che nel contesto viene utilizzata un'espressione di un …


1
Perché l'inizializzazione aggregata GCC di un array riempie per prima l'intera cosa di zeri, inclusi elementi diversi da zero?
Perché gcc riempie l'intero array di zeri invece che solo dei restanti 96 numeri interi? Gli inizializzatori diversi da zero sono tutti all'inizio dell'array. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier // forces the compiler to …


5
Imposta operazione in c ++ (aggiorna valore esistente)
Ecco il mio codice: while (it!=s.end()) //here 's' is a set of stl and 'it' is iterator of set { *it=*it-sub; //'sub' is an int value it++; } Non riesco ad aggiornare il valore di set da iteratore. Voglio sottrarre un valore intero 'sub' da tutto l'elemento dell'insieme. Qualcuno può …
21 c++ 



1
Perché {} come argomento della funzione non porta all'ambiguità?
Considera questo codice: #include <vector> #include <iostream> enum class A { X, Y }; struct Test { Test(const std::vector<double>&, const std::vector<int>& = {}, A = A::X) { std::cout << "vector overload" << std::endl; } Test(const std::vector<double>&, int, A = A::X) { std::cout << "int overload" << std::endl; } }; int …

3
Dividi un determinato tipo std :: variant in base a un determinato criterio
Come da un determinato tipo di variante using V = std::variant<bool, char, std::string, int, float, double, std::vector<int>>; dichiarare due tipi di variante using V1 = std::variant<bool, char, int, float, double>; using V2 = std::variant<std::string, std::vector<int>>; da dove V1include tutti i tipi aritmetici Ve V2comprende tutti i tipi non aritmetici V? …
20 c++  c++17  std-variant 


4
È valido usare std :: transform con std :: back_inserter?
Cppreference ha questo codice di esempio per std::transform: std::vector<std::size_t> ordinals; std::transform(s.begin(), s.end(), std::back_inserter(ordinals), [](unsigned char c) -> std::size_t { return c; }); Ma dice anche: std::transformnon garantisce l'applicazione in ordine di unary_opo binary_op. Per applicare una funzione a una sequenza in ordine o per applicare una funzione che modifica gli …


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.