商少

切勿好高骛远,患得患失

编码-字符集-字符编码-code page-内码-big_endia-little_endian

编码的直接感受 “汉”字的不同编码的文件存储数据: 编码方式 16进制 GBK2312 BA BA unicode FF FE 49 6C unicode-big-endian FE FF 6C 49 utf-8 EF BB BF E6 B1 89 Unicode、...

2018-12-28 23:56:15

阅读数 81

评论数 0

Visual Studio 2017 - Windows XP (v141_xp)_多线程 (/MT)_xp_not_a_valid_win32_application问题解决

既然我已经使用了,上述配置,应该没有引用高版本的系统dll中的不存在的函数。 查看它的导入表,也如我们所想。 后来我看到网上这篇文章: https://blog.csdn.net/ryu2003/article/details/52064925 最大的,提醒:版本匹配,pe 中有一个字...

2018-12-28 11:22:08

阅读数 1546

评论数 0

windows 上c\c++ 字符处理,wchar,char 那些事

#include<stdio.h> #include<tchar.h> #include<windows.h> #include<locale....

2018-12-17 13:46:16

阅读数 95

评论数 0

定制new 和 delete

了解new-handler 的行为 operator new 无法满足某一内存分配需求时 之前,返回一个null,某些旧编译器这么做(现在也可以指定这么做) 现在,调用new-handler 为了指定“用以处理内存不足”的函数,调用set_new_handler 函数: typedef in...

2018-12-15 17:17:01

阅读数 36

评论数 0

了解隐式接口和编译期多态

模板与泛型编程 了解隐式接口和编译期多态 w 必须支持哪一种接口,由template 中执行于w 身上的操作来决定的。 这里,是,size(),normalize 和 swap、copy构造函数、不等比较 凡涉及w 的任何函数调用,例如operator >...

2018-12-14 00:41:28

阅读数 51

评论数 0

内存管理

内存管理 内存泄漏 内存泄漏的严重性和付出的努力无关,只与使用的方法有关 关键 在更易管理的类型中隐藏分配和释放 单个对象 使用make_unique 或 make_shared 多个对象 使用标准容器 vector、无序map 对字符串来说,使用string,比自己操作内存好 ...

2018-12-12 22:27:46

阅读数 15

评论数 0

继承与面向对象设计

继承与面向对象设计 确定你的public 继承,表达的是is-a 关系 举例 鸟 鸟会飞 大部分鸟会飞 一部分鸟,比如,鸵鸟,不会飞 分成两类 会飞 不会飞 这样有一个问题,可能有些程序来说,不需要区分,两种会不会飞的鸟,此时,不区分会飞的鸟和不会飞的鸟,不失为一个完美而有效的设...

2018-12-10 00:43:06

阅读数 25

评论数 0

实现

实现 尽可能延后变量定义式的出现时间 只要定义了一个变量而其类型带有一个构造函数或析构函数,那么当程序控制流到达这个变量定义式,便需要承担构造成本:当这个变量离开其作用域,便承受析构成本。即使这个变量最终并未被使用,仍然需要耗费这些成本,所以应该尽可能的避免这种情形 必要时定义、延时定义 好处...

2018-12-06 00:29:17

阅读数 25

评论数 0

子集生成(bit、递归、子集生成)

#include <iostream> #include <algorithm> #include <stdlib.h> #include <...

2018-12-04 18:05:10

阅读数 112

评论数 0

设计与声明

设计与声明 让接口容易被使用,不易被误用 用户可能犯什么错误 错误类型 以错误的次序传递参数 可能传递无效的参数 原则 让类型容易被正确使用,不容易被误用:除非有好理由,否则应该尽量令你的types 行为与内置types 一致 比如,一个容器,通过size()方法统一得到元素个数...

2018-12-04 01:31:16

阅读数 25

评论数 0

资源管理

资源管理 以对象管理资源 void f(){ std::auto_ptr<Investment> pInv(createInvestment()); //1.调用factory函数,2使用pInv,3.经由auto_ptr 析构函数自动删除pInv ...

2018-12-02 19:11:24

阅读数 84

评论数 0

构造、析构、赋值运算

构造、析构、赋值运算 了解C++ 默认编写并调用哪些函数 如果没有声明,编译器将为C++ 类声明(编译器版本的)构造函数、一个拷贝构造函数、拷贝赋值操作符和一个析构函数,它们都是public、inline 默认行为 拷贝构造函数、拷贝赋值操作符 单纯的将来源对象的每个非静态成员变量拷贝...

2018-12-02 02:35:27

阅读数 60

评论数 0

确定对象被使用前已先被初始化

确定对象被使用前已先被初始化 未初始化代表的是不确定 内置类型,必须手工完成初始化 内置类型之外的,构造函数进行初始化 不要混淆了赋值和初始化的概念 对象的成员变量的初始化动作发生在进入构造函数本体之前 使用成员初值表 这个初值表的初始化操作是在构造函数之前的 如果是在构造函数内赋值...

2018-12-01 13:04:05

阅读数 51

评论数 0

尽可能用const

尽可能用const 细节 const 出现在星号左边,表示被指物是常量 const 出现在星号右边,指针自身是常量 const int * pw; int const * pw;含义相同 STL 迭代器中 const std::vector::iterator // iter 值不可变 s...

2018-12-01 12:20:21

阅读数 17

评论数 0

提示
确定要删除当前文章?
取消 删除