C++ 编程
文章平均质量分 52
qugang1982
这个作者很懒,什么都没留下…
展开
-
CPP_Primer 笔记-ch1
1 不同的系统对c和c++文件后缀名处理不一样,有些是cpp结尾,有些是大写字母C(比如UNIX系统),同样头文件也有差异。 所以标准的CPP库的头文件都不包含后缀名,比如2 c++如何使用C库: 方法一: 使用c库的头文件,比如include , 而后直接使用assert()函数。 方法二: 使用c++标准库,包含头文件 include , 而后必须使用 using nam原创 2013-09-21 15:15:45 · 474 阅读 · 0 评论 -
Cpp Primer CH11 异常处理
1 C++异常类型通常用类(class)实现。 2 捕获异常try{ throut (YYY)}catch(XXX) { }其中catch内容可能是:2.11 单个异常类类型, 对应的YYY是类型名2.2 单个对象声明,对应的应该是XXX类型的某个对象2.3 .... 表示能捕获所有的可能异常。 3 捕获异常C++的异常处理是不可恢复的:原创 2013-11-10 14:52:21 · 567 阅读 · 0 评论 -
Cpp Primer CH12 泛型算法
1 stable_sort()有些泛型算法有不同的变形,使用重载实现,比如stable_sort(begin, end);stable_sort(begin,end, less_than);第一种内部比较算法依赖容器对象的比较操作符。第二种允许用户定义或者重定义比较规则。其中less_than是一个函数指针或者是一个函数对象。 2 函数对象2.1 什么是函数对象原创 2013-11-10 15:24:08 · 623 阅读 · 0 评论 -
Clean Code CH9 CH10
单元测试:TDD 3定律: 保持测试整洁:结论:测试代码和生产代码一样重要,需要被思考,被设计和被照料。 1 面向特定领域的测试语言DSL:2 每个测试一个断言,概念。 F.I.R.S.T.原则。 类1 类应该是短小的。衡量类大小的单位是职责。2 单一职责原则 SRP,类应该只有一个变化的理由。3 什么是内聚:1 类应该只有少量的数据。原创 2013-11-06 22:28:42 · 741 阅读 · 0 评论 -
C++ Primer CH9 CH10
1 重载函数 1 必须体现在参数个数和参数类型差异上,仅仅判断返回值不足重载,会议之前的描述底层函数名+参数个数+参数类型编码。2 const 修饰的参数不足以重载,比如void f(int i)void f(const int i)不能作为重载函数。但是如果作为引用或者指针类型,则表示是可以重载的。比如 void f(int *);void(const in原创 2013-10-29 21:25:58 · 413 阅读 · 0 评论 -
C++ Primer ch7 ch8
1 数组参数: 1 C++中数组永远不会按值传递,他是传递一个指针,函数永远不知道对应数组的长度。 2 如果解决上面的问题,可以使用数组引用作为参数,这样数组的长度就是已知的,比如void putvalue(int (&a)[10]),表示参数是大小为10的int数组。 2 函数缺省实参只能提供调用缺少的尾部,比如;char *init(int height = 19原创 2013-10-28 22:12:10 · 448 阅读 · 0 评论 -
CPP_Primer CH6--抽象容器
Ponit1:顺序容器:拥有有单一类型元素组成的一个有序集合:1 Vector 2 List3 Deque 类似Vector,但是对首元素删除,插入有特殊支持。 关联容器:MAP 描述关键字(KEY)到有效数据(VALUE)映射。SET 描述关键字的集合,有效支持关键字是否存在。 Point2:如何选择Vectro还是list?1 如果需要随机访问原创 2013-10-20 21:25:53 · 441 阅读 · 0 评论 -
CPP_Primer_CH4_CH5
Ponit1:C++的四种显式数据类型转换:1 static_cast 静态的转换,所有自动隐形转换的函数都可以使用;消除精度丢失告警2 const_cast 转换掉表达式的的常量性,如果采用其他方式转换则会出现错误。extern char *str_copy(char *)const char *pc_str;str_copy(const_cast(pc_str));原创 2013-10-20 07:10:56 · 454 阅读 · 0 评论 -
Cpp_Primer_Ch2
Point 1 关于拷贝构造函数1 拷贝构造函数式构造函数的一种。2 系统提供默认的拷贝构造函数,但是往往不够,不如待初始化有指向动态内存的指针。3 如下两种初始化方法相同,都是调用拷贝构造函数,IntArray ia1 = array;IntArray ia1(array); Point2 关于函数重载和虚函数1 相同点:都是继承相关概念,都是子类对父类相同概念原创 2013-09-28 21:13:56 · 513 阅读 · 0 评论 -
Cpp_Primer_CH3
Point 1 关于数据类型字长int 字长double 一个字长long 一个或两个字长,32位机 int和long长度一致 Point2 关于String类型:1 支持C风格的字符串,计算时可自动转换为string类型,比如:str2 = str1+","+str2;2 string类型到C风格的字符串转换不能自动生成,需要string转换函数,比如:cha原创 2013-10-11 22:20:05 · 400 阅读 · 0 评论 -
Clean_Code_ch2_ch3_ch4
CH2 有意义的命名关于按领域命名:编程实际上包括两个层面,问题领域和解决方案领域,优秀的程序员工作之一就是分离解决上述两个领域的问题。涉及到代码命令,原则是靠近问题解决领域的代码使用解决领域概念命名,比如Job_queue,靠近问题领域的代码使用问题领域概念命名。 关于添加语境:方法1优于方法2方法1:通过类名,函数名获取相应语境。优点:可以获取短的变量命名。方法原创 2013-10-08 21:43:20 · 516 阅读 · 0 评论 -
PF_NETLINK 协议 获取IPV6路由信息的一些陷阱
关于使用NETLINK获取系统路由信息,GOOGLE上可以搜索到相关的使用方法,不过IPV6的倒是确实没有涉及。涉及IP6的路由操作,整个internet都没人涉及;本人经过多个坑,终于搞定,有些陷阱分享一下: 1 创建SOCKET方式: sock = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) 必须为NETLINK_R原创 2013-12-23 20:03:16 · 1518 阅读 · 1 评论