DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年8月22日

摘要: Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubole的浮点数的指针到整型:代码:int i;double d;i = (int) d;或者:i = int (d);对于具有标准定义转换的简单类型而言工作的很好。然而,这样的转换符也能不分皂白的应用于类(class)和类的指针。ANSI-C++标准定义了四个新的转换符:' 阅读全文
posted @ 2013-08-22 17:59 DoubleLi 阅读(645) 评论(0) 推荐(0)

摘要: 1.今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);不解为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__stdcall和__cdecl两者的区别; #define CALLBACK __stdcall#define WINAPI __stdcall#define WINAPIV __cdecl#define APIENTRY WINAPI#define APIPRIVATE __stdcall#define PASCAL __stdcall#define cdecl 阅读全文
posted @ 2013-08-22 13:49 DoubleLi 阅读(1061) 评论(0) 推荐(0)

摘要: Directive Parameter order Clean-up Passes parameters in registers?register Left-to-right Routine Yespascal Left-to-right Routine Nocdecl Right-to-left Caller Nostdcall Right-to-left Routine Nosafecall Right-to-left Routine No调用约定 压参数入栈顺序 把参数弹出栈者 函数修饰名(Calling convention)----------------------------- 阅读全文
posted @ 2013-08-22 13:44 DoubleLi 阅读(325) 评论(0) 推荐(0)