c++primer5
PIPIXIU
这个作者很懒,什么都没留下…
展开
-
C++Primer课后题10.14、10.20、11.7
//习题10.14void output_words(vector<string> &words){ for (auto i : words) { cout << i << " "; } cout << endl;}void elimDups(vector<string> &words){ sort(words.begin(), words.原创 2016-10-24 16:30:18 · 432 阅读 · 0 评论 -
C++primer5th模拟vector之StrVec类
出现的问题:书中alloc为static,编译时连接错误,不使用static可正常运行。因为在c++11中,static必须要初始化 //现有知识储备不知道怎么给alloc初始化,所以……暂时去掉staticStrVec.h头文件内容为#pragma once#ifndef STRVEC_H#define STRVEC_H#include<string>#include<memory>#原创 2016-11-14 17:18:00 · 803 阅读 · 2 评论 -
C++primer5th课后题13章13.13、13.22、13.26、13.27
习题13.13class Employee { static int sn; string name; int mysn;public: Employee() { mysn = sn++; } Employee(const string &n) :name(n) { mysn = sn++; } Employee(const Employee&rhs原创 2016-11-14 17:10:14 · 640 阅读 · 0 评论 -
C++primer5th课后题12.26、12.28
习题12.26int main(){ allocator<string> alloc; auto const p = alloc.allocate(100); string *q = p; string s; while (cin >> s && q != p + 100) alloc.construct(q++, s); for (原创 2016-11-14 17:07:03 · 436 阅读 · 0 评论 -
C++primer5th课后题12.6、12.14、12.19
//习题12.6//返回动态分配的int的vector,传递给另一个函数,读取标准输入保存为vector元素中,/*shared_ptr<vector<int>> new_factor(void){ return make_shared<vector<int>>();}vector<int> *new_vector(void){ return new (nothrow)原创 2016-11-14 17:03:53 · 507 阅读 · 0 评论 -
C++primer5th课后题14.44,二元处理运算
习题14.44 简单桌面计算器,处理二元运算map<string, function<int (int, int)>> binOps = { {"+",plus<int>()},//标准库函数对象 {"-",minus<int>()}, {"*",multiplies<int>()}, {"/",divides<int>()}, {"%",modulus<in原创 2016-11-15 22:23:16 · 411 阅读 · 0 评论 -
C++primer5th十四章_几个类的运算符重载
class Cdate { friend bool operator>(const Cdate &d1, const Cdate &d2); friend bool operator<(const Cdate &d1, const Cdate &d2); friend bool operator== (const Cdate &d1, const Cdate &d2);原创 2016-11-15 22:20:36 · 456 阅读 · 0 评论 -
C++Primer5th课后题10.11、10.13
//习题10.11inline void output_words(vector<string> &words){ for (auto i : words) { cout << i << " "; } cout << endl;}bool isShorter(const string &s1, const string &s2){ return原创 2016-10-19 22:33:48 · 512 阅读 · 0 评论 -
C++Primer5th课后题9.51_日期类
头文件data.h的内容为:#pragma once#ifndef DATE_H_INCLUDED#define DATE_H_INCLUDED#include<iostream>#include<string>#include<vector>#include<stdexcept>using namespace std;//编写构造函数,接受一个string日期,class date原创 2016-10-17 21:18:07 · 599 阅读 · 0 评论 -
c++Primer 5th课后题9.34、9.43、9.47、9.45、9.49
//命令行打开.exe时文件应与exe同目录,ctrl+f5运行时文件应在main.c同目录 //习题9.34int main(){ vector<int> vi = { 1,2,3,4,5,6,7,8 ,9 }; auto iter = vi.begin(); string tmp; while (iter != vi.end()) { if原创 2016-10-15 22:07:41 · 418 阅读 · 0 评论 -
string的插入与删除insert、erase
一、string 的 insert: s.insert(p,t);————— p迭代器,t值,插入在p之前,返回新元素的迭代器 s.insert(p,n,t); ———— n个值为t元素,返回新添加的第一个 s.insert(p,b,e); ———– b、e迭代器中的内容 s.insert(p,il); ————– il花括号元素列表原创 2016-10-15 22:03:46 · 2905 阅读 · 0 评论 -
C++ Primer 5th 课后习题8.10、8.11、8.13
//习题8.10int main(){ ifstream in("1"); if (!in) { cerr << "无法打开文件" << endl; } string line; vector<string> words; while (getline(in, line)) words.push_back(line)原创 2016-10-13 20:24:28 · 547 阅读 · 0 评论 -
C++Primer课后题11.33_单词本程序
给定一string,转换为另一个string。输入两个文件,文件1为替换规则,文件2为文本*map<string, string> buildMap(ifstream &map_file) //将转换规则 创建为trans_map映射关系{ map<string, string> trans_map; string lineMap, key, value; while (原创 2016-10-24 16:37:43 · 409 阅读 · 0 评论 -
C++Primer课后题11.0、11.31
//习题11.9string &trans(string &s){ for (int p = 0; p < s.size(); p++) { if (s[p] > 'A' && s[p] < 'Z') s[p] -= ('A' - 'a'); else if (s[p] == ',' || s[p] == '.' || s[p] =原创 2016-10-24 16:34:34 · 332 阅读 · 0 评论 -
C++primer5th 课后题13.58
习题13.58class Foo {public: Foo sorted() && ; Foo sorted() const &;private: vector<int> data;};Foo Foo::sorted() &&{ cout << "右值引用版本" << endl; sort(data.begin(), data.end());原创 2016-11-14 17:19:41 · 444 阅读 · 0 评论