![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 58
hycoldrain
这个作者很懒,什么都没留下…
展开
-
c++模板中的 typename 和 template 关键字用法
最近在看C++的模板,虽然学了、用了C++也有一段时间,对于模板编程这一特性一直没有接触。边学习, 一边写些心得吧。1. typename关键字 不用说,接触过模板的人都知道,typename在模板声明的时候可以代替class关键字,二者可以互换,如: template class Container { public: void push(const A原创 2009-01-05 20:43:00 · 10687 阅读 · 3 评论 -
c++对象学习笔记(1)
面向对象的三大特性,封装、继承、多态。从C语言到C++的转变首先接触的是类和对象。C++对数据的封装不会增加成本。C++在布局和存取时间上的额外负担是在使用virtual机制的时候引起的。一般情况下和C语言的结构体无二。 C++ virtual机制包括: 1.虚函数机制:支持执行期绑定2.虚基类:多重继承,只存在一个被共享的虚基类。 一.原创 2009-01-16 10:45:00 · 631 阅读 · 0 评论 -
C++中令人混淆的3个new和delete
在深入学习C++的过程中遇到3个new和delete让我十分迷惑,经过学习,有了点初步理解的感觉。总结如下 C++中,内存分配和对象构造紧密纠缠,就像对象析构和内存回收一样。使用new 表达式的时候,分配内存,并在该内存中构造一个对象,使用delete的时候,调用析构函数撤销对象,并将对象所用内存返还给系统。 C++提供了一下两种方法来分配和释放未构造的原始内存:原创 2009-03-13 21:25:00 · 1596 阅读 · 0 评论 -
Traits技术
Traits技术(转自http://comparative.spaces.live.com/blog/) 1.概念Trait的中文意思就是特性,Traits就像特性萃取机,榨取不同类的特性,以便能统一处理。Traits依靠显式模板特殊化(explicit template specialization)来把代码中因类型不同而发生变化的片断拖出来,用统一的接口来包装。这个接口可以转载 2009-03-19 10:50:00 · 1488 阅读 · 0 评论 -
重载++/--运算符
今天看书,看到例子里有个重载自增运算符,前自增还比较好。看后自增的时候有点迷惑。查 c++primer才发现自己这里有知识漏洞。特此补上。 在为类定义自增自减运算符的时候要注意,如何区分前自增/自减 和 后自增/自减运算符。 1 定义前自增/自减运算符 class CheckedPtr{public: CheckedPtr& operator++();原创 2009-03-20 11:28:00 · 776 阅读 · 0 评论 -
sscanf 用法(转)
int sscanf(const char*, const char*,…):从一个字符串中读取与制定格式相符的数据。这个函数包换在头文件#include中。 它与scanf类似,都是用于输入。只是sscanf是以字符串参数为输入源,而scanf是以键盘输入为输入源。 第一个参数是输入源,第二个参数代表格式。 格式参数可以是一个或多个 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '/t' | '/n' | 非%符号} 注原创 2010-09-19 01:56:00 · 614 阅读 · 0 评论 -
API函数CoInitialize(转)
Coinitialize CoInitialize是 Windows提供的API函数,用来告诉 Windows以单线程的方式创建com对象。应用程序调用com库函数(除CoGetMalloc和内存分配函数)之前必须初始化com库。 返回值S_OK : 该线程中COM库初始化成功S_FALSE 该线程中COM库已经被初始化 CoInitialize () 标明以单线程方式创建。 使用 CoInitialize 创建可以使对象直接与线程连接,得到最高的性能。 CoInitialize原创 2010-09-29 01:58:00 · 1817 阅读 · 0 评论 -
分割文件路径函数 _splitpath()和生成文件路径函数_makepath()
当获得某个文件的完整路径,想要得到其驱动、文件名、扩展名时。不必用字符串查找“.”、“/”或者“:”。使用_splitpath函数就可以轻松的解决问题。 const char* fileName= "C:\Program Files\MS DirectX原创 2011-08-28 14:46:28 · 1811 阅读 · 0 评论