C++技巧
摘要:1. 嵌套类的前向声明,不在UI层面暴露过多的实现细节(解耦,减少编译时间) 2. 指向类成员函数的指针 3.
阅读全文
posted @
2017-03-18 03:35
aoun
阅读(110)
推荐(0)
boost智能指针
摘要:1.auto_ptr 和 scoped_ptr 的异同 a 和 s 都是通过析构函数去 delete T* 实现自动释放内存。a 可以转移所有权,但是 s 不可以 2. scoped_array sa 管理 new [] 分配的内存,析构时使用delete [] 因为 sa 不能动态增长,没有ite
阅读全文
posted @
2017-03-15 17:49
aoun
阅读(146)
推荐(0)
C++ 四大部分
摘要:1. C C++ 2. Object Oriented C++ 3. Template C++ 4. STL C++ 另: Boost
阅读全文
posted @
2016-09-05 20:47
aoun
阅读(354)
推荐(0)
C++ 笔记
摘要:1. 可重入函数 (1)不使用静态变量和全局非const变量 (2)不使用锁 (3)不调用任何不可重入函数 (4)使用volatile防止寄存器缓存变量 See Aslo : CPU的乱序执行,会使得对共享变量的访问变得不可知 2. 线程 用户使用的是用户态线程,Kernel运行的是内核态的线程 O
阅读全文
posted @
2016-08-22 11:28
aoun
阅读(131)
推荐(0)
《编码的法则--C++实用经验》
摘要:1.C/C++采用静态编译模型,结构和类的大小都是在编译后确定的 定义结构和类变量时,需要根据大小来分配内存模型 2.头文件包含问题: (1)可以不包含头文件,那就不要包含 (2)尽量在CPP文件中包含头文件,而非在头文件中 (3)如果两个类相互递归定义,考虑前向声明或友元 (4)使用#ifndef
阅读全文
posted @
2016-08-16 12:57
aoun
阅读(192)
推荐(0)
++i 和 i++ 性能上的区别
摘要:++i; 直接返回加1后的结果 i++; 先保存(返回)原来的值,再+1 综上:前置性能更佳,请尽量使用前置。
阅读全文
posted @
2016-07-02 20:44
aoun
阅读(308)
推荐(0)
C语言 整形和字符
摘要:1.字符是小整形数,所以用一个整形变量来容纳字符值不会有任何问题 2.EOF 是一个整形值,它的位数比字符类型要多 3.综上,所以我们常用整形来读取字符 Remarks: Byte 是 unsigned char
阅读全文
posted @
2016-05-25 00:00
aoun
阅读(404)
推荐(0)
C语言 sizeof
摘要:sizeof 可以用来获取类型、数组和表达式的字节数 Example: 获取数组长度: int arrLen = sizeof(array) / sizeof(array[0]); Remarks: 数组作为形参时自动退化为指针(不论是定长或变长),所以sizeof(array)为指针长度
阅读全文
posted @
2016-05-24 23:42
aoun
阅读(137)
推荐(0)
VC++ 多线程模拟鼠标点击
摘要:HANDLE handle = CreateThread(NULL, 0, ThreadFun, NULL, 0, NULL);DWORD WINAPI ThreadFun(LPVOID pM) { // 休眠一下让 CShowSealistDlg 窗体显示出来 ::Sleep(200)...
阅读全文
posted @
2015-07-21 09:43
aoun
阅读(706)
推荐(0)
VC++ 把窗口带到最前
摘要://HWND hw; //::SetFocus(hw); //::SetActiveWindow(hw); //::SetForegroundWindow(hw); //::BringWindowToTop(hw); //::At...
阅读全文
posted @
2015-07-10 15:23
aoun
阅读(501)
推荐(0)
LONG 转 CComBSTR
摘要:wchar_t* longStr = (wchar_t*) malloc(16*sizeof(wchar_t)); swprintf(longStr, L"%d", this->m_longAuthority); this->m_pToolTip->SetText(TEXT_K...
阅读全文
posted @
2015-06-11 14:05
aoun
阅读(203)
推荐(0)
字符串转数字
摘要:1. atoi // const char * to int2. _wtoi // wchar* to int
阅读全文
posted @
2015-03-20 09:04
aoun
阅读(146)
推荐(0)
虚函数
摘要:以下内容摘自《http://blog.csdn.net/haoel/article/details/1948051/》C++中的虚函数的作用主要是实现了多态的机制,这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R...
阅读全文
posted @
2014-06-04 23:41
aoun
阅读(298)
推荐(0)
template
摘要:模板在类级别提供了一种编译时替换机制继承和模板都是创建可复用类的好方法
阅读全文
posted @
2014-05-29 21:08
aoun
阅读(170)
推荐(0)
typedef
摘要:typedef 定义自定义类型,即为现有类型创建一个新的名字有助于创建平台无关类型, 隐藏复杂、难以理解的语法,即美化代码举例:1.template class A { typedef T value_type; ... };2.typedef struct _Node int ...
阅读全文
posted @
2014-05-15 23:50
aoun
阅读(118)
推荐(0)
C的继承和多态
摘要:person.h 1 // Base class 2 3 #pragma once 4 5 typedef struct _Person Person; 6 7 typedef void (*fptrDisplayInfo)(const Person *); 8 typedef void (*...
阅读全文
posted @
2014-05-14 17:29
aoun
阅读(167)
推荐(0)
内存泄露
摘要:以下摘自内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。内存分配要通过CRT在运行时实现,只要在分配内存和释放内存时分别做好记录,程序结...
阅读全文
posted @
2014-05-13 18:23
aoun
阅读(156)
推荐(0)
链表的简单实现
摘要:1 #include 2 #include 3 4 typedef struct node { 5 int data; 6 node * next; 7 }Node, *pNode; 8 9 pNode CreateList() {10 pNode head, p1...
阅读全文
posted @
2014-05-13 00:30
aoun
阅读(132)
推荐(0)
strcat strcpy strlen
摘要:1 char * strcat(char * dest, const char * src) { 2 assert(dest != NULL && src != NULL); 3 char * p = dest; 4 while (*p) 5 p++; 6 ...
阅读全文
posted @
2014-05-12 21:58
aoun
阅读(143)
推荐(0)
多线程
摘要:AfxBeginThread是MFC的全局函数,是对CreateThread的封装。CreateThread是Win32 API函数,前者最终要调到后者。_beginthread是C的运行库函数
阅读全文
posted @
2014-05-11 01:34
aoun
阅读(132)
推荐(0)