Pytania otagowane jako c++

C ++ jest językiem programowania ogólnego przeznaczenia. Został pierwotnie zaprojektowany jako rozszerzenie do C i ma podobną składnię, ale teraz jest to zupełnie inny język. Ten znacznik służy do pytań o kod (kompilowany) za pomocą kompilatora C ++. Użyj tagu specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardową [C ++ 11], [C ++ 14], [C ++ 17] lub [C ++ 20] itp.


3
Niespójne obcięcie wyrażeń liczb całkowitych bez znaku między C ++ i C w różnych kompilatorach
Edycja 2 : Debugowałem dziwny błąd testu, gdy funkcja wcześniej znajdująca się w pliku źródłowym C ++, ale przeniesiona do pliku C dosłownie, zaczęła zwracać nieprawidłowe wyniki. Poniższe MVE pozwala odtworzyć problem z GCC. Jednak gdy kaprysem skompilowałem przykład z Clangiem (a później z VS), otrzymałem inny wynik! Nie mogę …


3
Czy nullptr można przekonwertować na uintptr_t? Różne kompilatory się nie zgadzają
Rozważ ten program: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Nie udało się skompilować z 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 …
10 c++  c++11  gcc  visual-c++  clang 

1
Sprawdzanie koncepcji TS ignoruje modyfikator dostępu prywatnego
Chcę napisać pojęcie Indeksowalne, co oznacza, że ​​sekwencja ma początek / koniec, który zwraca RandomAccessIterator, lub operator [] jest zdefiniowany i zwraca wartość typu nieważnego. Wykorzystałem pomysły z artykułu Stroustrupa dotyczące koncepcji Sekwencji i rozszerzyłem je o: template <class T> concept bool Indexable = Sequence<T> || requires(T t, size_t n) …
10 c++  c++-concepts 

1
Problem w GCC / C ++ 17 z klasą szablonów szablonów
Rozważ 2 następujące przeciążenia template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Pierwszy działa dla klas regularnych, a drugi dla szablonów, które nie są tworzone. Na przykład: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 Teraz rozważ następującą funkcję …
10 c++  templates  gcc  clang  c++17 

4
Po co zwracać NULL z main ()?
Czasami widzę kodery, które wykorzystują NULLjako wartość zwracaną main()w programach C i C ++, na przykład coś takiego: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Kiedy kompiluję ten `kod z gcc, pojawia się ostrzeżenie: ostrzeżenie: return tworzy liczbę całkowitą ze wskaźnika bez rzutowania [-Wint-konwersji] co jest uzasadnione, ponieważ …
10 c++  c  null  return  return-value 


1
Czy będziemy w stanie konstruować kontenery z widokami w C ++ 20?
Do C ++ zbliżają się nowe wersje ze standardową wersją C ++ 20. Moje pytanie: Czy będziemy w stanie zbudować (istniejące) kontenery biblioteki standardowej o dowolnym zakresie? A co ważniejsze, z widokami zasięgu? Na przykład czy to: #include <vector> #include <iostream> #include <ranges> int main() { auto sq = [](int …
10 c++  c++20  range-v3 

1
Wyciek pamięci podczas unordered_map :: wstaw wyjątek KeyEqual z GCC - przełamanie silnej gwarancji bezpieczeństwa wyjątku?
Korzystam z GCC 7.3.1, ale testowałem również na coliru, które moim zdaniem to wersja 9.2.0. Kompiluj za pomocą: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Oto 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, std::hash<std::string>, …


1
Co oznaczają ^ () {} i ^ {} w C ++?
Niedawno przeczytałem trochę takiego kodu C ++: setData(total, &user, ^() { struct dst_t to = {ip, port}; sendData(to, data); }); getData(total, ^{ recvData(data, NULL); }); Nigdy nie widziałem ^() {}ani ^{}. Co mieli na myśli? Jakaś anonimowa funkcja?
10 c++ 


2
Kiedy potrzebny jest łańcuch zakończony zerem w scenariuszu tylko do odczytu?
Bawiłem się std::string_viewbiblioteką i zastanawiałem się nad zmianą bazy kodu, nad którą pracowałem std::string_viewtak często, jak to możliwe. Jednak w wielu wątkach, które przeczytałem na temat tego, kiedy i gdzie użyć std::string_viewzamiast const std::string &. Widziałem wiele odpowiedzi mówiących: „Kiedy nie potrzebujesz łańcucha zakończonego znakiem zerowym”. Kiedy zacząłem szukać w …

1
Czy można ograniczyć liczbę wątków dla równoległego `for_each` C ++ 17?
Używam std::for_eachz std::execution::pardo wykonywania złożonych obliczeń na ogromnych danych wejściowych reprezentowanych jako wektor struktur. Obliczenia nie wymagają żadnych opóźnień związanych ze sprzętem (na przykład IO sieci lub dysku), są obliczeniami „tylko procesora”. Dla mnie wydaje się logiczne, że nie ma sensu tworzyć więcej wątków systemu operacyjnego niż mamy wątki sprzętowe; …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.