Pytania oznaczone «c++»

14
Jak wektor jako klucz działa wewnętrznie w C ++?

Ta odpowiedź SO mówi, że mapa STL z wektorem dla klucza wektor może być używany jako klucz. Więc kiedy używamy wektora jako klucza. Jak to faktycznie działa, skoro klucz musi być unikalny, więc kiedy wstawimy inny wektor z tymi samymi elementami, czy mapsprawdzanie duplikatu elementu po elemencie...

13
Ambigious operator w gcc

Stworzyłem szablon funkcji do drukowania niektórych pojemników STL #include <iostream> #include <vector> #include <string> template <template <typename, typename> class C, typename T, typename A> std::ostream& operator<<(std::ostream& os, const C<T,...

13
Jak ustalić, które pliki nagłówkowe należy uwzględnić?

Powiedz, że mam poniższy (bardzo prosty) kod. #include <iostream> int main() { std::cout << std::stoi("12"); } Kompiluje to dobrze zarówno na g ++, jak i clang; jednak nie można go skompilować na MSVC z następującym błędem: błąd C2039: „stoi”: nie jest członkiem „std” błąd...

13
Możliwy błąd kompilatora w MSVC

Poniższy kod kompiluje się z gcc i clang (i wieloma innymi kompilatorami C ++ 11) #include <stdint.h> typedef int datatype; template <typename T> struct to_datatype {}; template <> struct to_datatype<int16_t> { static constexpr datatype value = 1; }; template...

13
Jak można tak szybko ocenić const expr

Próbowałem wyrażeń stałych, które są oceniane podczas kompilacji. Ale bawiłem się przykładem, który wydaje się niewiarygodnie szybki, gdy jest wykonywany w czasie kompilacji. #include<iostream> constexpr long int fib(int n) { return (n <= 1)? n : fib(n-1) + fib(n-2); } int main ()...

13
Jak porównać ogólne struktury w C ++?

Chcę porównać struktury w ogólny sposób i zrobiłem coś takiego (nie mogę udostępnić faktycznego źródła, więc w razie potrzeby poproś o więcej szczegółów): template<typename Data> bool structCmp(Data data1, Data data2) { void* dataStart1 = (std::uint8_t*)&data1; void* dataStart2 =...