diff --git "a/04.c++14/01.\346\225\260\345\255\227\345\210\206\351\232\224\347\254\246.cpp" "b/04.c++14/01.\346\225\260\345\255\227\345\210\206\351\232\224\347\254\246.cpp" new file mode 100644 index 0000000..375b544 --- /dev/null +++ "b/04.c++14/01.\346\225\260\345\255\227\345\210\206\351\232\224\347\254\246.cpp" @@ -0,0 +1,13 @@ +#include +#include +using namespace std; + +int main() +{ + auto a = 1'234'567; // 1234567 整数 + auto b = 1'234'56s; // 1234567秒 // std::chrono::milliseconds + + cout << a << endl; + cout << b.count() << endl; + return 0; +} diff --git "a/04.c++14/02.\345\207\275\346\225\260\350\277\224\345\233\236\345\200\274\347\261\273\345\236\213\346\216\250\345\257\274.cpp" "b/04.c++14/02.\345\207\275\346\225\260\350\277\224\345\233\236\345\200\274\347\261\273\345\236\213\346\216\250\345\257\274.cpp" new file mode 100644 index 0000000..a143635 --- /dev/null +++ "b/04.c++14/02.\345\207\275\346\225\260\350\277\224\345\233\236\345\200\274\347\261\273\345\236\213\346\216\250\345\257\274.cpp" @@ -0,0 +1,14 @@ +#include +using namespace std; + +template +auto func(T i) +{ + return i; +} + +int main() +{ + cout << func("C++14") << endl; + return 0; +} \ No newline at end of file diff --git a/04.c++14/03.auto.cpp b/04.c++14/03.auto.cpp new file mode 100644 index 0000000..b37fa30 --- /dev/null +++ b/04.c++14/03.auto.cpp @@ -0,0 +1,10 @@ +#include +using namespace std; + +int main() { + + auto f = [](auto a) { return a; }; + + cout << f("c++14") << endl; + return 0; +} diff --git "a/04.c++14/04.\345\217\230\351\207\217\346\250\241\347\211\210.cpp" "b/04.c++14/04.\345\217\230\351\207\217\346\250\241\347\211\210.cpp" new file mode 100644 index 0000000..e110eb9 --- /dev/null +++ "b/04.c++14/04.\345\217\230\351\207\217\346\250\241\347\211\210.cpp" @@ -0,0 +1,29 @@ +#include +using namespace std; + +template +constexpr T pi = T(3.1415926535897932385L); + +template +struct A { + T t; + U u; +}; + +template +using B = A; + +int main() { + + cout << pi << endl; // 3 + cout << pi << endl; // 3.14159 + + + B b; + b.t = 10; + b.u = 20; + cout << b.t << endl; + cout << b.u << endl; + + return 0; +} diff --git a/04.c++14/05.constexpr.cpp b/04.c++14/05.constexpr.cpp new file mode 100644 index 0000000..945f9f4 --- /dev/null +++ b/04.c++14/05.constexpr.cpp @@ -0,0 +1,8 @@ +#include +using namespace std; + +int main() { + + cout << "hello, world!" << endl; + return 0; +}