Reference doc http://www.learncpp.com/cpp-tutorial/b-6-new-virtual-function-controls-override-final-default-and-delete/
int *p = 0; // legal, 0 has a special meaning as a null pointer
int *q = 1; // illegal, can't assign an int to an int* variable
- Type-safe
- Scoped
static_assert(__cplusplus > 199711L, "Program requires C++11 capable compiler");
- Source file with old C++
- Ask if they see anything we can modernize
- Reveal full C++11 file
- Pass & return implicit variables with uniform initialization
- Works with const ref
MyStruct(int x, int y): m_nX(x), m_nY(y) {}; // m_nX and m_nY are part of the initialization list
Mystruct foo {3, 4}; //// foo initialized using an initializer_list
- Create and use an initializer list constructor
- Pass & return some implicit objects using uniform initialization
- DRY
- The problem with
init()
- Delegate constructors!
References:
- http://baptiste-wicht.com/posts/2012/03/cpp11-concurrency-part1-start-threads.html
- http://baptiste-wicht.com/posts/2012/03/cp11-concurrency-tutorial-part-2-protect-shared-data.html
- http://baptiste-wicht.com/posts/2012/04/c11-concurrency-tutorial-advanced-locking-and-condition-variables.html
- http://baptiste-wicht.com/posts/2012/07/c11-concurrency-tutorial-part-4-atomic-type.html