Tag: language-lawyer
Für Fragen über die Feinheiten der formalen oder maßgebliche Spezifikationen von Programmiersprachen und-Umgebungen.
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); };
5
Antworten
Ist das Verhalten von diesem code definiert? #include <stdio.h> #include <stdint.h> int main(void) { void *ptr = (char *)0x01; size_t val; ptr = (char *)ptr + 1; val = (size_t)(uintptr_t)ptr; printf("%zu\n", val); return 0; } Meine ich,
9
Antworten
vector<int> v; v.push_back(1); v.push_back(v[0]); Wenn die zweite push_back bewirkt eine Umverteilung der Verweis auf die erste Ganzzahl in der Vektor wird nicht mehr gültig sein. Also, das ist nicht sicher? vector<int> v; v.push_back(1); v.reserve(v.size() + 1); v.push_back(v[0]);
2
Antworten
In der CSS flexible box layout module, es sagt: minimierten flex-Element entfernt vom Rendern ganz, aber hinterlässt ein "Federbein" Nicht, die Verhalten sich genauso wie die visibility: hidden? Wenn die Antwort ja ist, warum dann wurde visibility:
5
Antworten
Ich bin derzeit lernen C++ mit dem Buch C++ Primer und eine der übungen im Buch ist: Erklären, was der folgende Ausdruck gilt: someValue ? ++x, ++y : --x, --y Was wissen wir? Wir wissen, dass der
6
Antworten
Vor kurzem sah ich diesen code in eine Quellcode-Datei in ein C++ - Projekt: using namespace std; #include <iostream> Ignorieren Sie alle Fragen, ob es eine gute Idee zu haben using namespace std überhaupt, ist der obige
2
Antworten
In Bjarne Stroustrup ' s Die Programmiersprache C++ 4. Auflage § 36.3.6 STL-ähnliche Vorgänge Sie den folgenden code als Beispiel verwendet, der Verkettung: void f2() { std::string s = "but I have heard it works even if
2
Antworten
Wenn man sich die Grammatik für *declarator*s in §8/4 Sie werden bemerken, dass noptr-declarator kann geschrieben werden als (ptr-declarator), das heißt, es kann geschrieben werden als (declarator-id), die überprüft, Erklärungen wie diejenigen, die in dem Titel. Als
4
Antworten
Gibt es ein limit für die Anzahl der Argumente, die wir passieren, um main() in C? Wie Sie alle wissen, es ist definiert als int main(int argc, char *argv). Wenn ich das Programm aufrufen, kann ich Argumente
2
Antworten
Dies könnte gesehen werden als eine Erweiterung diese Frage (ich bin interessiert in C nur, aber hinzufügen von C++ zum Abschluss der Erweiterung) Den C11-standard zu 6.3.2.3.3 sagt: Ein ganzzahliger konstanter Ausdruck mit dem Wert 0, oder
2
Antworten
Prelude: std::tuple<int, int, int> f(); std::tuple<int, int, float, int> g(); C++1z einführen syntax für strukturierte Bindungen, die es möglich machen, zu schreiben, anstatt int a, b, c; std::tie(a, b, c) = f(); etwas wie auto [a, b,
8
Antworten
Ich bin neu in C++. Ich sehe oft bedingte Anweisung wie folgt: if statement_0; else if statement_1; Frage: Syntaktisch, soll ich behandeln else if als ein single-keyword? Oder ist es tatsächlich eine verschachtelte if - Anweisung innerhalb
3
Antworten
Hier ist mein code: class test{ public: constexpr test(){ } constexpr int operator+(const test& rhs){ return 1; } }; int main(){ test t; //constexpr word isn't necessary constexpr int b = t+test(); //works at compile time! int
6
Antworten
Kann jemand eine klare definition zusammen mit einem einfachen Beispiel erklärt, was ein "callback-Hölle" für jemanden, der nicht weiß, JavaScript und node.js ? Wann (in welcher Art von Einstellungen) ist die "callback-Hölle-problem" auftreten? Warum tritt es auf?
2
Antworten
Schrieb ich das folgende Programm in C und wenn ich es laufen, ich war überrascht, suchen Sie in der Ausgabe. Hier ist das Programm int main() { printf("\nab"); printf("\bsi"); printf("\rha"); } Die Ausgabe ist :- hai in
2
Antworten
Nun, wir alle haben manchmal die Arbeit mit binären Daten. In C++ arbeiten wir mit Sequenzen von bytes, und seit Anfang char war das unser Baustein. Definiert sizeof 1, es ist das byte. Und alle library-I/O-Funktionen verwenden
6
Antworten
Warum ist ein char 1 byte lang in C? Warum ist es nicht 2 bytes oder 4 bytes lang? Was ist die grundlegende Logik dahinter, dass es so 1 byte? Ich weiß, in Java ist eine char
7
Antworten
Als von C++14, Dank n3781 (die in sich selbst keine Antwort auf diese Frage) vielleicht schreiben wir einen code wie den folgenden: const int x = 1'234; //one thousand two hundred and thirty four Ziel ist die
5
Antworten
Habe ich eine enum in einem namespace, und ich möchte es verwenden, als ob es waren in einem anderen namespace. Intuitiv dachte ich mir, ich könnte 'mit' oder 'typedef', um dies zu erreichen, aber weder wirklich funktionieren.
4
Antworten
Funktioniert die C++ - Spezifikation definieren: der Existenz der "kleiner als" operator für boolean-Parameter, und wenn ja, das Ergebnis der 4-parameter-Permutationen? In anderen Worten, sind die Ergebnisse aus den folgenden Operationen definiert, die von der Spezifikation? false
4
Antworten
Betrachten die Hauptachse und die Querachse von einem flex-container: Source: W3C Ausrichten flex-Elemente entlang der Hauptachse gibt es eine Eigenschaft: rechtfertigen-content Ausrichten flex-Elemente entlang der Querachse gibt es drei Eigenschaften: align-content align-items align-self In dem Bild oben,
5
Antworten
Durch meine Lektüre der C++ - Standard, habe ich immer so verstanden, dass die Größen der integralen fundamentalen Datentypen in C++ wurden Sie wie folgt vor: sizeof(char) <= sizeof(short int) <= sizeof(int) <= sizeof(long int) Ich folgerte
8
Antworten
Mögliche Duplikate: Kann jemand erklären, diese undefinierten Verhalten (i = i++ + ++i , i = i++, etc...) Laut c++ - standard, i = 3; i = i++; führt zu undefiniertem Verhalten. Verwenden wir den Begriff "Undefiniertes
5
Antworten
Reine virtuelle Funktionen sind die Funktionen, die virtuelle und die pure-Planer ( = 0; ) Ziffer 10.4 Absatz 2 von C++03 die uns sagt, was eine abstrakte Klasse ist und als eine Randnotiz, die folgenden: [Hinweis: eine
4
Antworten
Ich vorstellen, wir sind uns alle einig, dass es als idiomatischer C, um den Zugriff auf eine multidimensionale Arrays dereferenzieren eines (evtl offset) Zeiger auf erstes element in a one-dimensional Mode, z.B.: void clearBottomRightElement(int *array, int M,
2
Antworten
Betrachten Sie den folgenden code: #include <iostream> struct foo { //(a): void bar() { std::cout << "gman was here" << std::endl; } //(b): void baz() { x = 5; } int x; }; int main() { foo*
2
Antworten
Während die Integration einer Django-app habe ich nicht vor, ich fand zwei verschiedene Möglichkeiten verwendet, um zu definieren, Funktionen in Klassen. Der Autor scheint sich sehr bewusst. Die erste ist eine, die ich selbst verwende eine Menge:
4
Antworten
Ich bin nicht so versiert in C-standard, also bitte Geduld mit mir. Ich würde gerne wissen, ob es garantiert ist, durch die Norm, dass memcpy(0,0,0) ist sicher. Die einzige Einschränkung, die ich finden konnte, ist, dass, wenn
5
Antworten
War ich unter dem Eindruck, dass der Zugriff auf eine union Mitglied anderer als der Letzte gesetzt wird UB, aber ich kann nicht scheinen zu finden, eine solide Referenz (eine andere als Antworten zu fordern, es ist
19
Antworten
Vielleicht bin ich nicht von diesem Planeten, aber es scheint mir, daß das folgende ein Syntaxfehler: int a = {1,2,}; //extra comma in the end Aber es ist nicht. Ich war überrascht, als Sie diesen code kompiliert
2
Antworten
Folgende code ist ziemlich trivial und ich erwartete, dass sollte es kompilieren in Ordnung. struct A { struct B { int i = 0; }; B b; A(const B& _b = B()) : b(_b) {} }; Getestet
1
Antworten
Ich denke, dass in C++14 mehr restrictives entfernt von constexpr. Aber nach N3797 7.1.5 3-punct: Die definition eines contexpr Funktion shal erfüllen die folgenden Einschränkungen: es darf nicht sein, virtuelle der Rückgabetyp ist ein literal-Typ; jedem Ihrer
4
Antworten
bitte beachten Sie folgenden code #include <iostream> using namespace std; class Digit { private: int m_digit; public: Digit(int ndigit=0){ m_digit=ndigit; } Digit& operator++();//prefix Digit& operator--(); //prefix Digit operator++(int); Digit operator--(int); int get() const { return m_digit;} };
5
Antworten
Derzeit bin ich mit der folgenden Funktion template zu unterdrücken, nicht verwendete variable Warnhinweise: template<typename T> void unused(T const &) { /* Do nothing. */ } Jedoch bei der Portierung auf cygwin von Linux, ich bin jetzt
7
Antworten
Meine Frage ist einfach. Wann müssen wir einen default-Konstruktor? Bitte entnehmen Sie den folgenden code: class Shape { int k; public: Shape(int n) : k(n) {} ~Shape() {} }; class Rect : public Shape { int l;
1
Antworten
char hello = "hello world"; std::string str; str.resize(sizeof(hello)-1); memcpy(&str[0], hello, sizeof(hello)-1); Dieser code Undefiniertes Verhalten in C++98. Ist es legal, in C++11? InformationsquelleAutor der Frage cubuspl42 | 2014-08-06
3
Antworten
Bevor Sie beginnen zu Schreien Undefiniertes Verhalten, das ist explizit aufgelistet in N4659 (C++17) i = i++ + 1; //the value of i is incremented Doch in N3337 (C++11) i = i++ + 1; //the behavior is
5
Antworten
Wo in der Norm sind die Funktionen zurückgeben Funktionen, die zurückgewiesen? Ich verstehe, Sie sind im Prinzip lächerlich, aber es scheint mir, dass die Grammatik erlauben würde. Laut dieser Webseite, einen "noptr-Deklarator [ist] jeder gültige Feststellung" gehören
3
Antworten
Betrachten Sie diesen code, template<class T> struct Sample { typename T::X *x; //declare pointer to T's X }; In dem obigen code, das Schlüsselwort typename erforderlich ist, durch den compiler, so dass es keine Verwechslungen zwischen den
3
Antworten
Funktioniert es korrekt(macht nix), wenn ich vector<T> v; v.erase(v.end()); Möchte ich so etwas wie v.erase(std::find(...)); Sollte ich if ist es v.end() oder nicht? Es gibt keine info darüber auf C++.com und CPPreference InformationsquelleAutor der Frage RiaD |
2
Antworten
Ich versuche zu lernen von Fortran und ich sehe eine Menge unterschiedlicher Definitionen, herumgereicht zu werden und ich Frage mich, ob Sie versuchen zu erreichen, die gleiche Sache. Was ist der Unterschied zwischen folgenden? integer*4 integer(4) integer(kind=4)
4
Antworten
Wie funktioniert C repräsentieren den negativen ganzen zahlen? Ist es durch die Zweierkomplement-Darstellung oder mit der MSB (most significant bit)? -1 in hexadezimal ist ffffffff. Also bitte klären Sie das für mich. InformationsquelleAutor der Frage 1s2a3n4j5e6e7v |
1
Antworten
Ich versuche mit unvollständigen Typ in der nested-name-specifier wie folgt: class A; int b= A::c; //error: incomplete type ‘A’ used in nested name specifier class A { static const int c=5; }; Es sagt nichts über es
3
Antworten
Bei der Verwendung std::bind zum binden einer member-Funktion das erste argument ist die Objekte this Zeiger. Aber es funktioniert übergeben das Objekt sowohl als Zeiger und nicht. Finden Sie zum Beispiel folgende Programm: #include <iostream> #include <functional>
8
Antworten
Durch einen kleinen Tippfehler, den ich zufällig fand dieses Konstrukt: int main(void) { char foo = 'c'; switch(foo) { printf("Cant Touch This\n"); //This line is Unreachable case 'a': printf("A\n"); break; case 'b': printf("B\n"); break; case 'c': printf("C\n");
5
Antworten
Gegeben, der C++11-Programm, sollte ich erwarten, um zu sehen, eine Zahl oder ein Buchstabe? Oder nicht den Erwartungen? #include <cstdint> #include <iostream> int main() { int8_t i = 65; std::cout << i; } Nicht den standard angeben,
8
Antworten
In C bitweisen Verschiebung nach Links ruft Undefiniertes Verhalten, wenn die linke Seite operand hat negativen Wert. Relevantes Zitat aus der ISO C99 (6.5.7/4) Das Ergebnis von E1 << E2 E1 Links verschoben E2 bit-Positionen; freigewordenen bits
3
Antworten
Wenn ich eine enum dass nicht die Nummern vergeben, um die Enumerationen, wird es ordinalen Wert 0 sein? Zum Beispiel: enum enumeration { ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE }; Habe ich in
5
Antworten
Kann jemand eine klare definition zusammen mit einem einfachen Beispiel erklärt, was ein "callback-Hölle" für jemanden, der nicht weiß, JavaScript und node.js ? Wann (in welcher Art von Einstellungen) ist die "callback-Hölle-problem" auftreten? Warum tritt es auf?
5
Antworten
Wenn wir haben, struct E { enum E_ { HELLO }; }; //'E' is inheritable dann warum brauchen wir, enum class E { HELLO }; //'E' is not inheritable IMO-2. version nicht mehr Funktionen als der 1.