C/C++
文章平均质量分 59
maxwelldu
学生,学习中~~
展开
-
C++的placement new
C++一个很重要的特点就是灵活,甚至可以操作内存,控制变量在内存中的位置。placement new就是用来在指定的地址上,分配指定大小的内存。使用placement new时,要包含头文件new,它的原型为void * operator new(size_t, void* p);。使用时语法格式为(中括号内的部分为可选):[YourType *pValue = ]new(address) YourType[(parameters)] 调用时,系统以address为起始地址分配内存,并调用YourType相原创 2011-05-18 10:37:00 · 3793 阅读 · 0 评论 -
虚函数、纯虚函数一些对比(不断学习,不断更新)
<br />虚函数<br />使用virtual关键字声明的类成员函数。在声明时或者在类的声明之外都可以有实现。<br />class c1{ virtual void A(); virtual int B(){}};<br /> <br />纯虚函数<br />使用virtual关键字声明,并且在原型声明之后带有=0的类成员函数。在函数原型中不能带有函数的实现,但是注意,在函数体外,可以有纯虚函数的实现。<br />含有纯虚函数的类叫做抽象类。所有成员函数均为纯虚函数的类叫做协议类。<br原创 2011-05-19 21:15:00 · 467 阅读 · 0 评论 -
linux多线程创建时使用类成员函数作为参数
实际上所有线程都是用来处理C函数的,而不是C++类成员函数。标准库中提供一个API函数,这个函数以回调函数指针作为线程的执行代码并在单独的线程中调用回调函数。问题是在这样的线程库中不能创建执行对象成员函数的线程;只能使用普通的函数。因此,下列代码是失败的:#inclu转载 2011-08-18 15:13:02 · 2862 阅读 · 0 评论 -
CentOS 5.3下架设LAMP时遇到SELinux权限问题,导致无法打开页面
学习在CentOS 5.3下架设LAMP时,复制了一套PHP的源码到/var/www/html下,发现index.php无权限访问,而手工新增一个简单的php文件可以正常访问,百思不得其解,可以确定的是文件目录的linux权限设定没问题,httpd配置也无问题. 最后在g转载 2011-08-18 19:40:20 · 825 阅读 · 0 评论 -
multiple definition of...
总结了解决multiple definition of的方法:问题原因: 当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译#ifndef TEST_H#define TEST_H#endif就会独立的解释,然后生成每个文件生成独立的标示转载 2011-08-18 12:53:38 · 761 阅读 · 0 评论 -
关于libjson的个人使用体会
libjson是c/c++的一个json库,可以用于解析和产生json格式的字符串。由于个人需要,这几天学着用了一下,自己的感觉就是——相当麻烦。很可能是自己水平不够,在这里总结一下自己的使用心得吧。之前曾经用过一次,但当时由于c++接口总是在编译阶段报错,所以该用了c接口。这次好好研究了一下c++接口。首先,使用c++的接口时,需要修改一个JSONOptions.h文件中的宏定义,将#d原创 2012-06-20 23:27:22 · 3252 阅读 · 3 评论 -
gflags——一个命令行参数工具
刚刚入职就有新的收获,接触到一个命令行参数工具gflags,google出品。其作用是简化编程时命令行参数的处理,初步使用后感觉十分方便,推荐有兴趣的程序员们使用一下。使用的时候需要包含头文件gflags.h。在使用命令行参数的文件文件中(源文件或头文件),首先使用一下定义语句进行变量的定义:DEFINE_int32DEFINE_int64原创 2012-07-11 09:29:00 · 6739 阅读 · 0 评论