c++ primer 5e
「已注销」
这个作者很懒,什么都没留下…
展开
-
decltype() demo
#include using namespace std;int main(){ int a = 10; decltype(a) i = 100; cout << i << endl; const int &c = i; decltype(c) e = a; // type of e is const reference a = 100原创 2015-03-17 11:10:16 · 353 阅读 · 0 评论 -
list initializating vector
#include #include #include using namespace std;int main(){ vector svec{"hello", "world", "river"}; for (auto word : svec) cout << word << endl; cout << "-------------------"原创 2015-03-06 20:26:39 · 464 阅读 · 0 评论 -
Range for demo
// demo of Range for#include #include using namespace std;int main(){ string s = "hello"; for (auto &c : s) { c = 'X'; } cout << s << endl; return 0;}原创 2015-03-06 20:19:10 · 333 阅读 · 0 评论 -
getline() demo
#include #include using namespace std;int main(){ ifstream infile("data.txt"); if (!infile) { cerr << "fail to open file!" << endl; return -1; } string line;原创 2015-03-06 20:10:08 · 372 阅读 · 0 评论 -
pop_back() & erase() demo
#include #include #include "display_vector.h"using namespace std;int main(){ vector svec = { "hello", "world", "river", "flows", "happy" }; svec.pop_back(); display_vector(svec);原创 2015-03-07 12:51:59 · 426 阅读 · 0 评论 -
container insert() demo
#include #include using namespace std;int main(){ vector svec = { "hello", "world" }; vector::iterator it = svec.insert(svec.begin() + 1, "river"); cout << *it << endl; for (au原创 2015-03-07 12:29:38 · 463 阅读 · 0 评论 -
cbegin() demo
#include #include using namespace std;int main(){ vector ivec = { 1, 2, 3, 4 }; for (auto it = ivec.cbegin(); it != ivec.cend(); ++it) { cout << *it << " "; } return原创 2015-03-07 11:42:51 · 475 阅读 · 0 评论 -
assignment operator(=) for vector demo
#include #include using namespace std;int main(){ vector ivec; ivec = {1, 2, 3, 4, 5}; for (auto val : ivec) { cout << val << " "; } cout << endl; return 0;}原创 2015-03-06 21:11:15 · 412 阅读 · 0 评论 -
initializer_list<int> demo
#include #include #include using namespace std;int foo(initializer_list il);int main(){ cout << foo({ 1, 2, 3 }) << endl; return 0;}int foo(initializer_list il) { return accumu原创 2015-03-20 12:02:52 · 471 阅读 · 0 评论 -
shared_ptr demo
#include #include using namespace std;int main(){ shared_ptr p = make_shared(10); cout << *p << endl; auto q(p); *q = 100; cout << *p << " " << *q << endl; cout << "cou原创 2015-03-16 19:53:13 · 502 阅读 · 0 评论 -
STL transform() demo
#include #include #include using namespace std;int main(){ vector ivec = { 1, 2, 3, 4 }; transform(ivec.begin(), ivec.end(), ivec.begin(), [](int v){return v*v;}); for原创 2015-03-07 22:49:40 · 445 阅读 · 0 评论 -
STL algorithm find() demo
#include #include using namespace std;int main(){ vector ivec = { 1, 2, 10, 3, 4, 5 }; int target = 10; auto result = find(ivec.begin(), ivec.end(), target); if (result != ivec.e原创 2015-03-07 13:39:02 · 429 阅读 · 0 评论 -
shrink_to_fit() demo
#include #include using namespace std;int main(){ vector svec; string word; while (cin >> word) { svec.push_back(word); } cout << "size == " << svec.size() << endl原创 2015-03-07 13:05:19 · 487 阅读 · 0 评论 -
stream iterator adaptor(istream_iterator, ostream_iterator) demo
#include #include #include #include #include using namespace std;int main(){ vector svec; istream_iterator is(cin); istream_iterator end_of_stream; copy(is, end_of_stream, bac原创 2015-03-06 20:38:56 · 385 阅读 · 0 评论 -
begin() & end() function demo
#include using namespace std;int main(){ int arr[] = {1, 2, 3, 4}; int *pbeg = begin(arr); int *pend = end(arr); while (pbeg != pend) { cout << *pbeg++ << " "; } c原创 2015-03-06 21:02:38 · 496 阅读 · 0 评论 -
function invoke demo
#include using namespace std;unsigned fact(unsigned n);int main(){ cout << "Enter a positive integer: "; unsigned n; cin >> n; cout << "factorial of " << n << " == " << fact(n)原创 2015-03-06 21:37:06 · 583 阅读 · 0 评论 -
lambda expression demo
#include using namespace std;int main(){ auto f = [](int v1, int v2){return v1 + v2;}; cout << f(4, 5) << endl; return 0;}原创 2015-03-07 21:58:51 · 347 阅读 · 0 评论 -
cbegin(), cend() demo
#include #include #include using namespace std;int main(){ vector ivec = { 1, 2, 3, 4 }; auto result = accumulate(ivec.cbegin(), ivec.cend(), 0); cout << result << endl; return原创 2015-03-07 13:54:22 · 480 阅读 · 0 评论 -
accumulate() demo
#include #include #include #include using namespace std;int main(){ vector svec = { "hello", "world", "hello", "sun" }; auto result = accumulate(svec.begin(), svec.end(), string(""));原创 2015-03-07 13:51:15 · 382 阅读 · 0 评论 -
STL algorithm count() demo
#include #include #include using namespace std;int main(){ vector svec = { "hello", "world", "hello", "sun" }; string target = "hello"; auto cnt = count(svec.begin(), svec.end(), ta原创 2015-03-07 13:46:25 · 320 阅读 · 0 评论 -
find() over plain array
#include #include using namespace std;int main(){ int arr[] = { 1, 2, 10, 3, 4 }; int target = 10; auto result = find(begin(arr), end(arr), target); if (result != end(arr))原创 2015-03-07 13:40:39 · 416 阅读 · 0 评论 -
while (cin >> word) {} demo
#include #include using namespace std;int main(){ ifstream infile("data.txt"); if (!infile) { cerr << "fail to open file!" << endl; return -1; } string word;原创 2015-03-06 20:12:25 · 517 阅读 · 0 评论 -
STL count_if() with lambda expression
#include #include #include using namespace std;int main(){ vector svec; string word; while (cin >> word) { svec.push_back(word); } string::size_type sz = 4; auto原创 2015-03-07 22:58:27 · 760 阅读 · 0 评论 -
copy_if() with lambda expression
#include #include #include using namespace std;int main(){ vector ivec = { 1, 2, 101, 102, 8, 9, 104}; vector ivec2; int limit = 100; copy_if(ivec.begin(), ivec.end(), back_inse原创 2015-03-07 22:10:38 · 365 阅读 · 0 评论 -
lambda expression capture list demo
#include using namespace std;int main(){ int n = 10; auto f = [n](int v){return v+n;}; cout << f(8) << endl; return 0;}原创 2015-03-07 22:02:08 · 498 阅读 · 0 评论 -
front(), back() demo
#include #include using namespace std;int main(){ vector svec = { "hello", "world", "river" }; if (!svec.empty()) { cout << "front elem: " << svec.front() << '\n'原创 2015-03-07 12:40:25 · 357 阅读 · 0 评论 -
swap demo
#include #include using namespace std;template void display_vector(const vector &vec);int main(){ vector ivec1, ivec2; ivec1 = { 1, 2, 3 }; ivec2 = { 4, 5, 6 }; //ivec1.assign原创 2015-03-07 12:00:30 · 337 阅读 · 0 评论 -
library array demo
#include #include using namespace std;int main(){ array sarr = { "hello", "world", "river" }; for (array::size_type ix = 0; ix != sarr.size(); ++ix) cout << sarr[ix] << " ";原创 2015-03-07 11:51:24 · 362 阅读 · 0 评论 -
class demo
#include class Person {public: Person(std::string name, std::string address); std::string get_name() const {return _name;} std::string get_address() const {return _address;}private:原创 2015-03-06 21:58:13 · 643 阅读 · 0 评论 -
stringstream demo
#include #include using namespace std;int main(){ string s = "hello world"; istringstream is(s); string word; while (is >> word) cout << word << endl; return 0;}原创 2015-03-06 20:15:18 · 395 阅读 · 0 评论 -
pass by reference demo
#include using namespace std;template void exchange(T &t1, T &t2);int main(){ int m = 10, n = 99; exchange(m, n); cout << m << " " << n << endl; return 0;}template void exc原创 2015-03-06 21:42:42 · 479 阅读 · 0 评论 -
while demo
#include using namespace std;int main(){ int sum = 0; int val = 50; while (val <= 100) sum += val++; cout << "sum == " << sum << endl; return 0;}#include using n原创 2015-03-15 10:40:29 · 409 阅读 · 0 评论 -
local static object demo
#include using namespace std;size_t foo();int main(){ for (size_t ix = 0; ix != 5; ++ix) cout << foo() << " times called." << endl; return 0;}size_t foo(){ static size_t原创 2015-03-15 22:30:15 · 369 阅读 · 0 评论 -
fact() demo
#include using namespace std;int fact(int n);void testFact();int main(){ testFact(); return 0;}int fact(int n) { int ret = 1; while (n) ret *= n--; return ret;}原创 2015-03-15 22:26:52 · 469 阅读 · 0 评论 -
iterator demo
#include #include using namespace std;int main(){ vector ivec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; for (auto it = ivec.begin(); it != ivec.end(); ++it) *it *= 2; for (auto elem原创 2015-03-15 20:16:25 · 348 阅读 · 0 评论 -
string concatenation demo
#include #include using namespace std;int main(){ string s1, s2; cin >> s1 >> s2; cout << s1 + " " + s2 << endl; return 0;}原创 2015-03-15 19:45:09 · 459 阅读 · 0 评论 -
decltype keyword demo
#include using namespace std;int main(){ int i = 0; int &j = i; decltype(j) v = i; cout << j << endl; return 0;}原创 2015-03-15 11:17:44 · 346 阅读 · 0 评论 -
auto keyword demo
#include #include using namespace std;int main(){ int v1 = 10; int v2 = 20; auto v = v1 + v2; cout << v << endl; vector ivec { 1, 2, 3, 4 }; for (auto elem : ivec)原创 2015-03-15 11:09:53 · 417 阅读 · 0 评论 -
cin, cout demo
#include using namespace std;int main(){ cout << "Hello, world!" << endl; return 0;}#include using namespace std;int main(){ cout << "Enter 2 integers: "; int v1, v2;原创 2015-03-15 10:33:53 · 354 阅读 · 0 评论 -
iterator & Generic Programming demo
#include #include #include using namespace std;int main(){ vector ivec { 1, 2, 100, 78, 89, 23 }; for (auto it = ivec.cbegin(); it != ivec.cend(); ++it) cout << *it << " ";原创 2015-03-15 20:11:03 · 355 阅读 · 0 评论