
C++
文章平均质量分 81
iiihacker
这个作者很懒,什么都没留下…
展开
-
C++复制构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyprint?int a = 100; int b = a; int a = 100;int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单转载 2013-11-29 16:46:18 · 726 阅读 · 0 评论 -
C/C++的20个位运算技巧
一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一转载 2013-11-29 18:01:12 · 1156 阅读 · 0 评论 -
C++ 类型转换 (static_cast dynamic_cast reinterpret_cast const_cast typeid)
1 static_cast用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时转载 2013-11-29 18:51:59 · 642 阅读 · 0 评论 -
VC++调用EXE文件的方法 (WinExc,ShellExcute,CreateProcess)
VC中调用其他程序的方法一般有三种,分别利用三个API函数WinExec,ShellExecute ,CreateProcess。其中WinExec最简单,但较老;ShellExecute简单灵活,较为实用; CreateProcess则控制比较全面,但是较为复杂。下面分别介绍一下这三种方法。使用WinExec命令 ⑴ 函数原型:UINT WinExec(LPCSTR l转载 2013-11-29 20:20:47 · 4243 阅读 · 0 评论 -
C++位运算原理解析
看到有些人对位运算还存在问题,于是决定写这篇文章作个简要说明。什么是位(bit)?很简单,位(bit)就是单个的0或1,位是我们在计算机上所作一切的基础。计算机上的所有数据都是用位来存储的。一个字节(BYTE)由八个位组成,一个字(WORD)是二个字节或十六位,一个双字(DWORD)是二个字(WORDS)或三十二位。如下所示: 0 1 0 0 0 1 1 1 1 0 0转载 2013-11-29 18:06:46 · 977 阅读 · 0 评论 -
在Visual C++中使用内联汇编
一、内联汇编的优缺点 因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便。内联汇编主要用于如下场合: 1.使用汇编语言写函数; 2.对速度要求非常高的代码; 3.设备驱动程序中直接访问硬件; 4."Naked" Call的初始化和结束转载 2013-11-29 20:57:06 · 1038 阅读 · 0 评论 -
C++ 运算符重载详解
什么是运算符的重载? 运算符与类结合,产生新的含义。 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义)怎么实现运算符的重载?方式:类的成员函数 或 友元函数(类外的普通函数)规则:不能重载的运算符有 . 和 .* 和 ?: 和 :: 和 sizeof友元函数和成员函数的使用场合:一般情况下,建议一元运转载 2013-11-29 16:30:09 · 1138 阅读 · 0 评论 -
C++ typedef 详解
1. typedef 最简单使用[c-sharp] view plaincopyprint?typedef long byte_4; // 给已知数据类型long起个新名字,叫byte_4 typedef long byte_4; // 给已知数据类型long起个新名字,叫byte_4你可以在任何需要 long 的上下文中使用 byte_4。注意 ty转载 2013-11-29 16:55:28 · 849 阅读 · 0 评论 -
模版的特化与偏特化
Partial Template Specialization能够让你在模板(Template)的所有可能的实体中特化出一组子集. 1.模板的特化(template specialization): 例如,定义如下的一个模板: template class Widget { ... 泛化实现代码 ... }; 然后你可转载 2013-11-29 17:42:26 · 513 阅读 · 0 评论