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.

2
Co oznacza iterator-> drugi?
W C ++, jaki jest typ a std::map<>::iterator? Wiemy, że obiekt ittypu std::map<A,B>::iteratorma przeciążenie, operator ->które zwraca a std::pair<A,B>*, i że std::pair<>ma firstisecond . Ale czemu odpowiadają te dwa elementy i dlaczego musimy uzyskać dostęp do wartości przechowywanej na mapie jako it->second?
157 c++  stl  iterator 

7
printf with std :: string?
Rozumiem, że stringjest to element członkowski stdprzestrzeni nazw, więc dlaczego ma miejsce następujący przebieg? #include <iostream> int main() { using namespace std; string myString = "Press ENTER to quit program!"; cout << "Come up and C++ me some time." << endl; printf("Follow this command: %s", myString); cin.get(); return 0; } …
157 c++  string  namespaces  printf  std 

2
Dziedziczenie C ++ - niedostępna podstawa?
Wydaje mi się, że nie mogę użyć klasy bazowej jako parametru funkcji, czy popsułem moje dziedziczenie? Mam następujące główne: int some_ftn(Foo *f) { /* some code */ }; Bar b; some_ftn(&b); A klasa Bar dziedzicząca po Foo w taki sposób: class Bar : Foo { public: Bar(); //snip private: //snip …
157 c++  inheritance 

6
Przenieś przechwytywanie w lambdzie
Jak przechwycić przez ruch (znany również jako odwołanie do wartości r) w lambdzie C ++ 11? Próbuję napisać coś takiego: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };



7
std :: enable_if, aby warunkowo skompilować funkcję składową
Próbuję uzyskać prosty przykład do pracy, aby zrozumieć, jak używać std::enable_if. Po przeczytaniu tej odpowiedzi pomyślałem, że nie powinno być trudno znaleźć prosty przykład. Chcę użyćstd::enable_if do wyboru między dwiema funkcjami składowymi i pozwolić na użycie tylko jednej z nich. Niestety, poniższe nie skompiluje się z gcc 4.7 i po …
156 c++  templates  g++  c++11 



3
Znaczenie akronimu SSO w kontekście std :: string
W pytaniu C ++ dotyczącym optymalizacji i stylu kodu kilka odpowiedzi odnosiło się do „logowania jednokrotnego” w kontekście optymalizacji kopii std::string. Co w tym kontekście oznacza SSO? Oczywiście nie jest to „pojedyncze logowanie”. Może „optymalizacja współdzielonych ciągów”?
155 c++  string  optimization 

7
szybki sposób na skopiowanie jednego wektora do drugiego
Wolę dwa sposoby: void copyVecFast(const vec<int>& original) { vector<int> newVec; newVec.reserve(original.size()); copy(original.begin(),original.end(),back_inserter(newVec)); } void copyVecFast(vec<int>& original) { vector<int> newVec; newVec.swap(original); } Jak ty to robisz?
155 c++  algorithm  stl 

10
dynamic_cast i static_cast w C ++
Jestem dość zdezorientowany ze dynamic_castsłowem kluczowym w C ++. struct A { virtual void f() { } }; struct B : public A { }; struct C { }; void f () { A a; B b; A* ap = &b; B* b1 = dynamic_cast<B*> (&a); // NULL, because 'a' …
155 c++  dynamic-cast 

3
Kiedy używać std :: forward do przekazywania argumentów?
C ++ 0x pokazuje przykład użycia std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Kiedy std::forwardzawsze warto używać ? Ponadto wymaga użycia &&w deklaracji parametrów, czy jest ważny we wszystkich przypadkach? Myślałem, że musisz przekazać tymczasowe do funkcji, jeśli funkcja została &&w niej zadeklarowana , więc czy można wywołać …


12
Po co nam czysty wirtualny destruktor w C ++?
Rozumiem potrzebę posiadania wirtualnego destruktora. Ale dlaczego potrzebujemy czystego wirtualnego destruktora? W jednym z artykułów C ++ autor wspomniał, że używamy czystego wirtualnego destruktora, gdy chcemy stworzyć abstrakcję klasy. Ale możemy uczynić klasę abstrakcyjną, sprawiając, że dowolny element członkowski działa jako czysto wirtualny. Więc moje pytania są Kiedy naprawdę sprawiamy, …

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.