Tag: auto
Die `auto` – Schlüsselwort wurde eingesetzt, die in C++11 für ein Typ abgeleitet. Wenn verwendet, um zu ersetzen, eine Art Namen, die in einem initialisierten Variablen-Deklaration hat die variable den gleichen Datentyp wie die Initialisierung. Wenn als return-Typ der return-type angegeben wird als trailing return type, oder abgeleitet von der return-Ausdruck.
6
Antworten
Betrachten diese ziemlich nutzloses Programm: #include <iostream> int main(int argc, char* argv) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); };
6
Antworten
Was ist der Unterschied zwischen den Arten von bar1 und bar2? int foo = 10; auto bar1 = &foo; auto *bar2 = &foo; Wenn beide bar1 und bar2 sind int*, macht es Sinn zu schreiben, der Zeiger
4
Antworten
Mit Clang 3.5, 3.6 oder 3.7, mit der fahne std=c++1y den folgenden code nicht kompiliert : #include <iostream> auto foo(auto bar) { return bar; } int main() { std::cout << foo(5.0f) << std::endl; } Den Fehler gegeben
4
Antworten
Meiste Zeit sehe ich Konstante C-strings definiert als: static char const* MY_CONSTANT = "Hello World"; Jedoch die Zeiger selbst ist nicht const. Wäre es nicht eher angebracht, machen Sie es wie unten? static char const* const MY_CONSTANT
1
Antworten
Habe ich eine std::unordered_map std::unordered_map<std::string, std::string> myMap; Möchte ich, um einen const-iterator-Verwendung finden. In c++03, die ich tun würde std::unordered_map<std::string, std::string>::const_iterator = myMap.find("SomeValue"); In c++11 würde ich wollen, verwenden Sie auto statt zu schneiden nach unten auf
2
Antworten
Wie kann ich mich zwingen, eine Funktion in eine vorgefertigte Klasse für die Rückgabe einer Referenz auf eine Membervariable mit auto/decltype? Hier verharmlost Beispiel, was ich versuche zu tun. Angenommen, du hast eine vorgefertigte Klasse, die speichert
3
Antworten
Ist es ein Weg, um pass auto als argument an eine andere Funktion? int function(auto data) { //DOES something } Hängt davon ab, was Sie erwarten, dass es in der Lage sein zu tun. Was brauchen Sie,
2
Antworten
Gibt es einen Unterschied oder ist es dasselbe? Es ist das gleiche, wie jeder andere Typ. Ich kann ein genauer, aber legalistische Antwort. Da du nicht den tag mit der Sprache-Anwalt, gehe ich davon aus, dass Sie
8
Antworten
Ich eine Warnung erhalten signed/unsigned mismatch für den folgenden code: auto n = a.size(); for (auto i = 0; i < n; i++) { } Das problem ist, dass durch die Zuordnung von 0 bis i es
4
Antworten
Spiel-engine Mikro-Optimierung situation: ich bin mit C++11 for-Schleife zur Iteration über eine vector<int> mit der auto Stichwort. Was ist schneller: for(auto value : ints) ... oder for(auto& value : ints) ... ? InformationsquelleAutor Vittorio Romeo | 2013-05-13
3
Antworten
Was sind die Vorteile auto im template-Parameter, die (möglicherweise) eingeführt werden, die mit C++17? Ist es nur eine Natürliche Erweiterung von auto wenn ich will, zu instanziieren template-code? auto v1 = constant<5>; //v1 == 5, decltype(v1) is
14
Antworten
Habe ich mit der neuen auto keyword-erhältlich in den standard C++11 für komplizierte Vorlagen-Arten, die ist, was ich glaube, für die es entworfen wurde. Aber ich bin auch mit es für Dinge wie: auto foo = std::make_shared<Foo>();
6
Antworten
Hatte ich eine Wahrnehmung, dass der Typ eines lambda ist ein Funktionszeiger. Wenn ich folgenden test durchgeführt, ich fand, es sei falsch (demo). #define LAMBDA (int i) -> long { return 0; } int main ()
2
Antworten
In c++14 den decltype(auto) idiom eingeführt. In der Regel seine Verwendung ist für ermöglichen auto Erklärungen zur Verwendung der decltype Regeln, die auf dem gegebenen Ausdruck. Suche für Beispiele von "guten" Gebrauch der Redewendung kann ich nur
4
Antworten
C++11 unterstützt, eine neue Funktion syntax: auto func_name(int x, int y) -> int; Derzeit die Funktion erklärt werden: int func_name(int x, int y); Der neue Stil scheint nicht so weit verbreitet sind noch (sagen wir in den
4
Antworten
Fand ich in einem Beitrag so löschen Sie Elemente aus einem container mit einem iterator. Während der Iteration: for(auto it = translationEvents.begin(); it != translationEvents.end();) { auto next = it; ++next; //get the next element it->second(this); //process
2
Antworten
Macht C++11 ermöglichen, deklarieren von nicht-statischen Daten-member, wie 'auto', wenn Sie initialisiert werden bei der Deklaration? Zum Beispiel: struct S { auto x = 5; //in place of 'int x = 5;', which is definitely allowed };
4
Antworten
Ich Spiele mit auto und ich bemerkte, dass in den meisten Fällen können Sie ersetzen Sie eine variable definition, die mit auto und dann den Typ zuordnen. In der folgende code w und x sind äquivalent (Standardeinstellung
7
Antworten
Code: int main(void) { auto a=1; return 0; } kompiliert wird ohne Fehler von der MS Visual Studio 2012-compiler, wenn die Datei hat die .c-Erweiterung. Ich habe immer gedacht, dass, wenn Sie verwenden die .c-Erweiterung, die übersetzung
4
Antworten
Kann ich sehen, warum die auto Typ in C++11 verbessert die Korrektheit und Wartbarkeit. Ich habe gelesen, dass es kann auch die Leistung verbessern (Fast Immer Auto von Herb Sutter), aber ich vermisse eine gute Erklärung. Wie
4
Antworten
Beim erstellen von lokalen Variablen, ist es nicht richtig zu verwenden (const) auto& oder auto? z.B.: SomeClass object; const auto result = object.SomeMethod(); oder const auto& result = object.SomeMethod(); Wo SomeMethod() gibt einen nicht-primitiven Wert - vielleicht
1
Antworten
Bitte werfen Sie einen Blick auf die folgenden einfachen code: class Foo { public: Foo(){} ~Foo(){} Foo(const Foo&){} Foo& operator=(const Foo&) { return *this; } }; static Foo g_temp; const Foo& GetFoo() { return g_temp; } Habe
6
Antworten
Gibt es eine auto variable Datentyp in Java, wie Sie in C++? Beispiel: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); Weiß ich, dass es eine erweiterte for-Schleife
13
Antworten
Scheint es, dass auto war eine ziemlich bedeutende Funktion Hinzugefügt werden, die in C++11, die zu Folgen scheint viele der neueren Sprachen. Wie mit einer Sprache wie Python, ich habe nicht gesehen, eine explizite Deklaration von Variablen
2
Antworten
Fand ich diesen code: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Ich dachte mir, mit allen details, die waren mir neu, aber man. Sagen Sie mir
1
Antworten
Macht C++11 ermöglichen, deklarieren von nicht-statischen Daten-member, wie 'auto', wenn Sie initialisiert werden bei der Deklaration? Zum Beispiel: struct S { auto x = 5; //in place of 'int x = 5;', which is definitely allowed };
5
Antworten
Aus all dem material, das ich verwendet, um zu lernen, C++, auto schon immer eine seltsame Lagerung Dauer Planer, die nicht nur dazu. Aber gerade vor kurzem, ich traf code, der es verwendet, als eine Art name
4
Antworten
Wenn Sie Lesen, code wie auto&& var = foo(); wo foo ist keine Funktion Rückkehr mit dem Wert von Typ T. Dann var ist ein lvalue rvalue vom Typ Verweis auf T. Aber was bedeutet dies für
4
Antworten
#include <vector> #include <algorithm> void foo( int ) { } int main() { std::vector< int > v( { 1,2,3 } ); std::for_each( v.begin(), v.end(), ( auto it ) { foo( it+5 ); } ); } Wenn er
5
Antworten
Ich habe einen code in C++14. Allerdings, wenn ich es in C++11, es hat einen Fehler bei const auto. Wie Sie es in C++11? vector<vector <int> > P; std::vector<double> f; vector< pair<double, vector<int> > > X; for
2
Antworten
In c++14 den decltype(auto) idiom eingeführt. In der Regel seine Verwendung ist für ermöglichen auto Erklärungen zur Verwendung der decltype Regeln, die auf dem gegebenen Ausdruck. Suche für Beispiele von "guten" Gebrauch der Redewendung kann ich nur
3
Antworten
Wie funktioniert generischen lambda-Arbeit (auto Stichwort als argument-Typ) in C++14-standard? Ist es, basierend auf C++ - templates, in denen für jeden unterschiedlichen argument-Typ der compiler erzeugt eine neue Funktion mit dem gleichen Körper, sondern ersetzt-Typen (compile-Zeit-Polymorphismus), oder
6
Antworten
Hatte ich eine Wahrnehmung, dass der Typ eines lambda ist ein Funktionszeiger. Wenn ich folgenden test durchgeführt, ich fand, es sei falsch (demo). #define LAMBDA (int i) -> long { return 0; } int main ()
2
Antworten
In C++11, kann ich Durchlaufen einige container wie so: for(auto i : vec){ std::cout << i << std::endl; } Aber ich weiß, dass dies unnötig - unnötigda ich nur ab und zu drucken die Werte von vec
2
Antworten
Da meine variable ist ein Zeiger, wenn ich es einer Variablen zuweisen von "auto" - Typ, muss ich die Angabe des "*" ? std::vector<MyClass> *getVector(); //returns populated vector //... std::vector<MyClass> *myvector = getVector(); //assume has n items
7
Antworten
Erste Frage: ist es möglich, zu "Kraft" ein const_iterator mit auto? Zum Beispiel: map<int> usa; //...init usa auto city_it = usa.find("New York"); Will ich einfach nur Abfrage, stattdessen ändert sich nichts, zeigte city_italso würde ich gerne haben
14
Antworten
Habe ich mit der neuen auto keyword-erhältlich in den standard C++11 für komplizierte Vorlagen-Arten, die ist, was ich glaube, für die es entworfen wurde. Aber ich bin auch mit es für Dinge wie: auto foo = std::make_shared<Foo>();
4
Antworten
C++11 unterstützt, eine neue Funktion syntax: auto func_name(int x, int y) -> int; Derzeit die Funktion erklärt werden: int func_name(int x, int y); Der neue Stil scheint nicht so weit verbreitet sind noch (sagen wir in den