C++
梅子黄时_宿于松下
本科毕业于安工大自动化专业,研究生就读于北航控制系。做过战斗机飞行仿真平台,热爱生活,享受写代码的感觉,现于墨迹风云(北京)软件科技发展有限公司从事墨迹天气iOS客户端开发。
展开
-
函数调用约定
__declspec,__cdecl,__stdcall,__declspec _cdecl 是C Declaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不需要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 _stdcal转载 2013-04-06 16:45:49 · 575 阅读 · 0 评论 -
C++异常明细
看CImage函数实现的时候发现了这么个东东 inline HBITMAP CImage::Detach() throw()它是函数提供者和使用者的一种君子协定,标明该函数不抛出任何异常。之所以说是君子协定,是因为实际上内部实现是需要人肉确保。 如果一个标明throw()的函数内部发生了throw:1,如果内部直接throw somethin转载 2012-12-07 08:43:10 · 741 阅读 · 0 评论 -
C++函数模版分离编译
1.函数模版的编译模式分两种:完全包含编译模式和局部编译模式(需要用export关键字) 2.不同的编译器对这两种编译模式的支持各不相同,但一般都支持完全包含编译模式,具体支持情况需要参照具体使用的编译器文档 模版函数和普通函数在使用的时候有一定的区别: (1)普通函数在使用的源文件中直接include该函数的声明即可 (2)模版函数在使用的源文件中转载 2013-07-16 13:41:30 · 574 阅读 · 0 评论 -
static_cast 和 dynamic_cast的区别
用法:static_cast ( expression )该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有转载 2013-04-05 10:55:44 · 680 阅读 · 0 评论 -
base::scoped_ptr个人理解
1引言base::scoped_ptr是chrome base中的一种智能指针。它的功能涵盖boost的boost::scoped_ptr和c++标准库中的std::auto_ptr,且具备上两者所没有的几种功能:1)支持数组的管理如,auto_ptr std::apAry(new int[10]); 这中情况肯定会出现内存泄漏,因为apAry在析构的时候调用的是delete操作符而不原创 2014-04-11 14:04:20 · 1126 阅读 · 0 评论 -
从C++到Objective-C的学习笔记
1头文件导入与新的基本类型OC的头文件跟C和CPP一样都是.h,而OC的源文件是.m导入头文件是用#import,这比#include好的地方在于默认设置了头文件保护,不需要在头文件中设置保护符#import 前面的Foundation是框架名,后面的Foundation.h是头文件名OC引入了新的基本类型BOOL,类似于CPP中的bool,但是BOOL的值是YES /NO原创 2014-01-06 17:17:53 · 871 阅读 · 0 评论 -
宏定义的符号
在预处理阶段就展开了define宏定义中的#,##,@#及\符号1、# (stringizing)字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。如:#define example(instr) printf("the input string is:\t%s\n",#instr)转载 2013-07-25 10:08:45 · 837 阅读 · 0 评论 -
内存管理,stack和heap的区别
一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放 4另外还有一个专门放常量的地方。 - 程序结束释放转载 2013-05-01 11:17:01 · 746 阅读 · 0 评论 -
Chromium for Mac中的BrowserWindow
1引言 在chromium for mac中总有许多类名中包含BrowserWindow的类,如:FramedBrowserWindow, BrowserWindowController, BrowserWindow, BrowserWindowCocoa等,这让我等chromium新手眼花缭乱。整理此文,帮助记忆区分。2类图与类类图如上所示:原创 2014-05-10 00:39:19 · 1392 阅读 · 0 评论