C++
mo_yin
热爱编程以及算法
展开
-
重学C++之《C++ Premer》课后习题第13章 拷贝、赋值与销毁
文章目录练习13.4练习13.4class Point {public: Point() :_x(0), _y(0) { cout << "Point()" << endl; } Point(const Point &rhs) :_x(rhs._x), _y(rhs._y) { cout << "Point(const &)" << endl; } void print() { co原创 2021-03-13 22:32:20 · 139 阅读 · 0 评论 -
重学C++之《C++ Premer》课后习题第10章 泛型算法
文章目录练习10.4练习10.4accumulate返回值为int类型,会丢失精度vector<double> v;accumulate(v.cbegin(), c.cend(), 0);int main() { list<const char *> roster1; vector<const char *> roster2; roster2 = {"hello", "so long", "tata"}; roster1 = {"hello", "原创 2021-02-19 22:22:34 · 169 阅读 · 1 评论 -
重学C++之《C++ Premer》课后习题第9章 顺序容器
文章目录练习9.13练习9.25练习9.31练习9.32练习9.13list<int> l{1, 2, 3, 4, 5};vector<double> v(l.begin(), l.end());练习9.25void print(vector<int> &v) { for (auto &elem : v) { cout << elem << endl; }}int main() {原创 2021-02-17 22:10:37 · 104 阅读 · 0 评论 -
重学C++之《C++ Premer》课后习题第7章 类
文章目录练习7.4 7.5 7.15练习7.58练习7.4 7.5 7.15class Person {public: friend istream &read(istream &is, Person &person); friend ostream &print(ostream &os, const Person &person); Person() = default; Person(const string &am原创 2021-02-16 22:41:13 · 166 阅读 · 1 评论 -
重学C++之《C++ Premer》课后习题第6章 函数
文章目录练习6.32练习6.36练习6.38练习6.53练习6.54 6.55 6.56练习6.32// 合法int &get(int *array, int index) { return array[index]; }int main() { int ia[10]; for (int i = 0; i != 10; ++i) { get(ia, i) = i; } for (int i = 0; i != 10; ++i) {原创 2021-01-31 22:14:26 · 235 阅读 · 0 评论 -
重学C++之《C++ Premer》课后习题第5章 表达式
文章目录练习5.13练习5.14练习5.13unsigned index = some_value();switch (index) {case 1: { int ix = get_value(); ivec[ix] = index; break;}default: { int ix = ivec.size - 1; ivec[ix] = index;}}unsigned evenCnt = 0, oddCnt = 0;int digit = g原创 2021-01-28 22:01:19 · 203 阅读 · 0 评论 -
重学C++之《C++ Premer》课后习题第4章
文章目录练习4.16练习4.20练习4.21练习4.23练习4.29练习4.30练习4.31练习4.32练习4.33练习4.36练习4.16if ((p = getPtr) != 0)if (i == 1024)练习4.20vector<string> v_str{"1", "", "2", "3"};auto iter = v_str.begin();*iter++; // 合法,返回iter的解引用,然后iter自加(*iter)++; // 不原创 2021-01-23 11:11:02 · 295 阅读 · 0 评论 -
重学C++之《C++ Premer》课后习题第3章
文章目录练习3.6练习3.7练习3.11练习3.13练习3.19练习3.20练习3.27练习3.43练习3.45练习3.6string s = "1234567";for (auto &c : s) { c = 'X';}cout << s << endl;练习3.7使用auto c,此时c是一个局部变量,对c的修改并不会反映到s中练习3.11for 语句合法,c为const char类型const string s = "Keep ou原创 2021-01-22 17:47:59 · 263 阅读 · 0 评论 -
重学C++之《C++ Premer》课后习题第2章
文章目录练习 2.3练习 2.6练习 2.7练习2.11练习2.12练习2.13练习2.14练习2.27练习2.28练习2.35练习 2.3unsigned u = 10, u2 = 42;cout << u2 - u << endl; // 32cout << u - u2 << endl; // -32 % 2^32int i = 10, i2 = 42;cout << i2 - i << endl;原创 2021-01-21 23:05:42 · 889 阅读 · 0 评论 -
重学C++之《C++ Premer》课后习题第1章
文章目录练习1.2练习1.3练习1.4练习1.5练习1.6练习1.7练习1.8练习1.22练习1.2对于main函数返回值:在win10系统中无提示,可以使用在cmd中使用echo %ERRORLEVEL%打印返回值在ubuntu2004系统中无提示,可以使用echo $?打印返回值此外在ubuntu中的返回值为-1时,打印值为255,返回值为单字节负数补码对应的无符号数。(-1补码为 1111 1111)练习1.3#include <iostream>int main(原创 2021-01-21 15:17:48 · 278 阅读 · 0 评论 -
面试之C++:不能被继承的类
文章目录一.构造函数与析构函数设置为private二.使用友元实现三.C++11 关键字一.构造函数与析构函数设置为private派生类B的构造函数进行构造时,需要使用基类A的构造函数,而把A的构造函数放到private作用域中,B在构造时无法调用,因此A无法被继承。析构函数同理。此时类A不能创建对象,要想A类能正常使用,可以使用以下的两种方式。#include <iostream>using namespace std;class A { A() {} ~A() {}}原创 2021-01-15 18:10:15 · 494 阅读 · 0 评论 -
C++中闭包的使用
闭包是js语言中的重要概念,作为一个入门级C++程序员,最开始学习到函数对象接触到闭包的概念,即携带状态的函数对象为闭包,这个解释并不能是我完全理解闭包。所以搜集了一些资料,在这里总结一下一.闭包的概念及起源1.维基百科中的闭包概念在计算机科学中,闭包(Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量(未绑定到...原创 2019-02-17 21:53:15 · 7275 阅读 · 3 评论