add list-initializers.cpp
This commit is contained in:
parent
8f9dd5cac6
commit
11ece493be
3 changed files with 33 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -8,3 +8,4 @@ Makefile
|
||||||
auto_ptr
|
auto_ptr
|
||||||
typetest
|
typetest
|
||||||
unique_ptr
|
unique_ptr
|
||||||
|
list-initializers
|
||||||
|
|
|
@ -6,3 +6,4 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Weffc++")
|
||||||
add_executable(typetest typetest.cpp)
|
add_executable(typetest typetest.cpp)
|
||||||
add_executable(auto_ptr auto_ptr.cpp)
|
add_executable(auto_ptr auto_ptr.cpp)
|
||||||
add_executable(unique_ptr unique_ptr.cpp)
|
add_executable(unique_ptr unique_ptr.cpp)
|
||||||
|
add_executable(list-initializers list-initializers.cpp)
|
||||||
|
|
31
list-initializers.cpp
Normal file
31
list-initializers.cpp
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#include <iostream>
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
// notice how the lists are nested to match the templates' parameters:
|
||||||
|
map<string, vector<pair<string, int>>> name_languages_year {
|
||||||
|
{"Dennis Ritchie", {{"B", 1969}, {"C", 1973}}},
|
||||||
|
{"Niklaus Wirth", {{"Pascal", 1970}, {"Modula-2", 1973},
|
||||||
|
{"Oberon", 1986}}},
|
||||||
|
{"Bjarne Stroustrup", {{"C++", 1983}}},
|
||||||
|
{"Walter Bright", {{"D", 1999}}}
|
||||||
|
};
|
||||||
|
|
||||||
|
// prints `Pascal':
|
||||||
|
cout << name_languages_year["Niklaus Wirth"].at(0).first << endl;
|
||||||
|
|
||||||
|
// adds a new entry to the map:
|
||||||
|
name_languages_year["John McCarthy"] = {
|
||||||
|
{"Lisp", 1958}
|
||||||
|
};
|
||||||
|
|
||||||
|
// prints 'Lisp':
|
||||||
|
cout << name_languages_year["John McCarthy"].at(0).first << endl;
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue