C++
Gaodes
成功来自点滴的坚持
展开
-
C++ primer 总结
第一章 数据处理整形整形:short(16)、int(16-32)、 long(32) 头文件limits包含范围#include<iostream>using namespace std;void main(){int int_max = INT16_MAX;short short_max = SHRT_MAX; long l...转载 2018-09-06 10:30:56 · 744 阅读 · 0 评论 -
Effective C++之const使用
1.条款之const,enum,inline代替宏定义#include <iostream>using namespace std;const int a = 5;const int b = 6;enum{ i, j};template <typename T>inline int callwithMax(const T&a ,...原创 2018-09-12 11:44:02 · 233 阅读 · 0 评论 -
Effective C++之构造,拷贝函数
3.条款之不使用默认生成的函数,应该明确拒绝我们知道C++类会帮我们自动生成构造函数,析构函数函数,拷贝构造函数,和赋值函数#include <iostream>using namespace std;class homeclass{};int main(int argc,char *argv[]){ homeclass h1,h2; hom...原创 2018-09-12 14:11:38 · 195 阅读 · 0 评论 -
Effective C++之编译器警告
6.条款之不要忽略编译器的警告我们有时候习惯性地忽略编译器的警告。通常认为问题很严重的话,编译器给我们一个错误而不是警告。这种想法对其他语言可能没有害,但是对C++却是很严重的问题。举个例子:#include <iostream>using namespace std;class B{public: virtual void f() const;};class...原创 2018-09-24 00:27:59 · 139 阅读 · 0 评论 -
Effective C++之继承与面向对象设计
5.条款之避免继承而来的名称int x;void someFunc(){ double x; std::cin >> x;}我们都知道上面这段代码会因为局部变量的原因,输入的x是double类型的根据以上代码,我们来看看下面的类:#include <iostream>using namespace std;class Base...原创 2018-09-20 00:11:48 · 179 阅读 · 0 评论 -
Effective C++之设计与声明
4.条款之让接口被正确使用,不易被误用如何设计一个“容易被使用,不容易被误用的接口”,首先明白客户容易犯的两个错误,贴以下代码#include <iostream>using namespace std;struct Day{ explicit Day(int d):val(d){} int val;};struct Month{ e...原创 2018-09-15 00:26:23 · 122 阅读 · 0 评论 -
More Effective C++之类型转换
1.条款之优先考虑C++风格的类型转换C++通过引用4种新的类型转换克服了C风格的类型转换的缺点。这四种操作符是:static_cast,const_cast,dynamic_cast以及reinterpret_cast。大多数情况下,关于这些操作符应该知道的是,我们所习惯的写法为:(type) expression现在我们通常写为:static_cast<type> expr...原创 2018-09-26 00:17:02 · 138 阅读 · 0 评论 -
More Effective C++之同一程序使用C++和C
长久以来,我们不得不为在同一程序中既要使用C++写的组件又使用C写的组件而担心,同样的问题,当我们在一个C程序里使用不同编译器产生的obj文件也会困扰我们。除非不同的编译器与语言特性达成一致。对于混合使用C和C++的程序来说,和全部用C或者C++一样都存在这个问题。所以在使用前,必须保持兼容。解决完这个问题,我们必须有4个问题需要考虑:名称改编,静态变量初始化,动态内存分配,数据结构兼容性。...原创 2018-10-16 00:29:16 · 317 阅读 · 0 评论