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
Perché a std :: span mancano gli operatori di confronto?
Non è stato std::spanprogettato come un riferimento leggero alle sottoregioni di std::vector/ std::array/ plain array e simili? Non dovrebbe contenere anche operatori di confronto nella sua API, per essere coerenti con loro? Qual è stato il ragionamento alla base dell'esclusione? Nota: per gli operatori di confronto, intendo sia il set …
10 c++  std  c++20  std-span 


3
Nullptr può essere convertito in uintptr_t? Diversi compilatori non sono d'accordo
Considera questo programma: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Impossibile compilare con msvc v19.24: <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral …
10 c++  c++11  gcc  visual-c++  clang 

1
Concept TS check ignora il modificatore di accesso privato
Voglio scrivere un concetto indicizzabile nel senso che una sequenza ha inizio / fine che restituiscono RandomAccessIterator o l'operatore [] è definito e restituisce un valore di tipo non vuoto. Ho usato le idee dall'articolo di Stroustrup per il concetto di sequenza e l'ho aumentato con: template <class T> concept …
10 c++  c++-concepts 

1
Problema in GCC / C ++ 17 con classe modello di modello
Considera i 2 sovraccarichi seguenti template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Il primo funziona per le classi regolari, mentre il secondo per i modelli non istanziati. Per esempio: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 Ora …
10 c++  templates  gcc  clang  c++17 

4
Perché restituire NULL da main ()?
A volte vedo programmatori che usano NULLcome valore di ritorno main()nei programmi C e C ++, ad esempio qualcosa del genere: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Quando compilo questo codice con gcc ricevo l'avvertimento di: avvertenza: return rende intero dal puntatore senza cast [-Wint-conversion] che è …
10 c++  c  null  return  return-value 


1
Saremo in grado di costruire container con viste in C ++ 20?
Gli intervalli arrivano in C ++ con la versione standard C ++ 20. La mia domanda: saremo in grado di costruire contenitori (esistenti) di librerie standard con qualsiasi intervallo? E, soprattutto, con le viste di portata? Ad esempio, questo: #include <vector> #include <iostream> #include <ranges> int main() { auto sq …
10 c++  c++20  range-v3 

1
Perdita di memoria durante unordered_map :: insert Eccezione KeyEqual con GCC - rompendo la forte garanzia di sicurezza delle eccezioni?
Sto usando GCC 7.3.1, ma anche testato su coliru, che credo sia la versione 9.2.0. Costruire con il seguente: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Ecco rai.cpp: #include <iostream> #include <unordered_map> int main() { try { struct MyComp { bool operator()(const std::string&, const std::string&) const { throw std::runtime_error("Nonono"); } }; std::unordered_map<std::string, std::string, …


1
Cosa significano ^ () {} e ^ {} in C ++?
Di recente ho letto un codice C ++ come questo: setData(total, &user, ^() { struct dst_t to = {ip, port}; sendData(to, data); }); getData(total, ^{ recvData(data, NULL); }); Non ho mai visto ^() {}né ^{}. Cosa vogliono dire? Qualche tipo di funzione anonima?
10 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.