Experiment: Wie viele Schlüsselwörter in einen Ausdruck?
-
Ich kenne mich nicht so aus, was nun was ist. Dann sei es ein Ausdruck.
-
typename std::vector<bool>::iteratorausserhalb eines Templates ist kein gültiges C++ :p
-
Richtig gestellt. Und jetzt dürft ihr auch mal Vorschläge zeigen.

-
#include <typeinfo> #include <vector> #include <ctime> #include <iostream> #include <limits> int shit() { using namespace std; auto nullptr=(void*)0;//nur weil gcc den noch nicht kennt auto a=0,b=0,c=0,d=0; return (reinterpret_cast<unsigned long>((new class vector<volatile tm* //6 >())->operator[](0)) or (signed short int) sizeof(typeid(delete //8 (enum float_denorm_style*)nullptr)))+(float)static_cast<double> //5 (wchar_t ( d and_eq c not_eq not(a or_eq b xor_eq 1 xor 2 )))+( //7 true bitor (char32_t() bitand alignof(char16_t) and (char(compl //9 (bool(false)))))) + vector<decltype(throw const_cast<tm*>( //5 dynamic_cast<const struct tm*>(new tm)))*>().size(); //4 //=44 } int main() { shit(); }44, wenn ich mich nicht verzählt habe.
-

-
volkard schrieb:
44, wenn ich mich nicht verzählt habe.
new doppelt und dafür typename vergessen.
-
volkard schrieb:
#include <typeinfo> #include <vector> #include <ctime> #include <iostream> #include <limits> int shit() { using namespace std; auto nullptr=(void*)0;//nur weil gcc den noch nicht kennt auto a=0,b=0,c=0,d=0; return (reinterpret_cast<unsigned long>((new class vector<volatile tm* //6 >())->operator[](0)) or (signed short int) sizeof(typeid(delete //8 (enum float_denorm_style*)nullptr)))+(float)static_cast<double> //5 (wchar_t ( d and_eq c not_eq not(a or_eq b xor_eq 1 xor 2 )))+( //7 true bitor (char32_t() bitand alignof(char16_t) and (char(compl //9 (bool(false)))))) + vector<decltype(throw const_cast<tm*>( //5 dynamic_cast<const struct tm*>(new tm)))*>().size(); //4 //=44 } int main() { shit(); }44, wenn ich mich nicht verzählt habe.
Wenn du da noch´n switch-case-default-break drumrumbaust biste schon bei 48.
Edit:
Und in einem switch-case noch eine while-do Schleife mit continue, dann sind´s schon 51.
-
Aber dann ist es doch kein Ausdruck mehr, sondern ein Statement...
-
Wir haben doch gesagt, keine Abkürzungen, wie bitand, bitor, etc

int hast du schon bei int shit() verwendet.
-
Jetzt doch? Bitte Mal klare Spielregeln.
-
Nexus ist der Meinung, die alternativen Operatorschlüsselwörter seien doof. Und er behauptet, wir seien da einer Meinung. Das stimmt natürlich nicht. Außerdem ist die Einschränkung unnatürlich. Und sie war nur ein Vorschlag für einen alternativen Wettbewerb, also nicht ein Regeländerungsvorschlag für diesen. Und Du hast den Vorschlag nicht wie anderen Vorschlag abgesegnet. Ich hatte daher nicht angenommen, die alternativen Operatornamen seien ausgeschlossen.
-
Ich würde noch in die Spielregeln aufnehmen, daß keine Lamdas erlaubt sind.
-
Jo, Lambdas sind nicht erlaubt.
-
volkard schrieb:
44, wenn ich mich nicht verzählt habe.
Nicht schlecht! Dass man Standardklassen verwenden könnte, um
classetc. einzusetzen, ist mir später auch noch eingefallen. Die Idee mitoperatorist gut! Hast dureturnnicht mitgezählt?volkard schrieb:
Nexus ist der Meinung, die alternativen Operatorschlüsselwörter seien doof.
Ich finde nur doof, dass sie ohne guten Grund Schlüsselwörter sind, zumal sie genauso gut Makros sein könnten, ohne dabei sinnvolle Bezeichner zu verunmöglichen.
-
Nexus schrieb:
Hast du
returnnicht mitgezählt?Nein.
return ausdruck;wäre ja eine Anweisung.