
C++
caichao08
这个作者很懒,什么都没留下…
展开
-
C++与JAVA语言区别
“作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的。事实上,Java本来就是从C++衍生出来的。” 然而,C++和Java之间仍存在一些显著的差异。可以这样说,这些差异代表着技术的极大进步。一旦我们弄清楚了这些差异,就会理解为什么说Java是一种优秀的程序设计语言。本附录将引导大家认识用于区分Java和C++的一些重要特征。 (1) 最转载 2013-11-14 20:06:41 · 1865 阅读 · 1 评论 -
CString转char * ,string
CString头文件#include string头文件#include 1、CString转char *CString cstr;char *p =(LPSTR)(LPCTSTR)cstr;2、string转 CStringCString.format(”%s”, string.c_str());用c_str()转载 2014-12-27 14:47:31 · 479 阅读 · 0 评论 -
CString 转int 及CString相关性质
CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程。 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择。如果你准备使用 Unicode 字符,你应该用_ttoi(),它在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译成_wtoi()。你转载 2014-12-18 18:18:24 · 3919 阅读 · 0 评论 -
虚函数
第一节、一道简单的虚函数的面试题题目要求:写出下面程序的运行结果?//谢谢董天喆提供的这道百度的面试题 #include using namespace std; class A{ public:virtual void p() { cout "A" } }; class B : pub转载 2014-09-09 08:51:21 · 710 阅读 · 0 评论 -
虚析构函数(√)、纯虚析构函数(√)、虚构造函数(X)
一. 虚析构函数我们知道,为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。如:class Base{public: Base(){} virtual ~Base(){}};class Derived: public Base转载 2014-09-09 09:14:00 · 446 阅读 · 0 评论 -
字节对齐
一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU转载 2014-03-26 19:02:05 · 1065 阅读 · 0 评论 -
C++虚函数机制
1.1 简介编译器对每个包含虚函数的类创建一个表(称为VTABLE)。在VTABLE中,编译器放置特定类的虚函数地址。在每个带有虚函数的类中,编译器秘密地置一指针,称为vpointer(缩写为VPTR),指向这个对象的VTABLE。通过基类指针做虚函数调用时(也就是做多态调用时),编译器静态地插入取得这个VPTR,并在VTABLE表中查找函数地址的代码,这样就能调用正确的函数使晚捆绑转载 2014-03-25 13:12:37 · 471 阅读 · 0 评论 -
new/delete与malloc/free都干了哪些事
malloc/new函数及malloc()的一种简单原理性实现malloc函数void *malloc(int size); 说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。malloc 与free 是转载 2014-03-25 09:37:02 · 1031 阅读 · 0 评论 -
C++的四种cast
C 风格(C-style)强制转型如下:(T) expression 或T(expression) //函数风格(Function-style)两种形式之间没有本质上的不同。对于具有转换的简单类型而言C 风格转型工作得很好。然而,这样的转换符也能不分皂白地应用于类(class)和类的指针。ANSI-C++标准定义了四个新的转换符:reinterpret_cast, stati转载 2014-03-25 13:13:47 · 907 阅读 · 0 评论 -
vs2010访问oracle11g环境配置过程
看了许多C++访问oracle数据库的方法,感觉OCCI是最简单的一种,代码量少,清晰。下面详细说明一下如何使用vs2010连接oracle11g。1.建立一个win32应用程序2.环境配置(1)添加occi头文件,头文件在安装好的文件夹里面有,当然你也可以去oracle网上下载。具体目录位置(以我的为例):D:\app\Administrator\product\11.2原创 2014-01-15 10:00:45 · 3091 阅读 · 0 评论 -
extern C
引言在用C++的项目源码中,经常会不可避免的会看到下面的代码:123456789#ifdef __cplusplusextern "C" {#endif /*...*/ #ifdef __cplusplus}转载 2014-01-03 11:00:22 · 717 阅读 · 3 评论 -
C++ Singleton (单例) 模式最优实现
索引静态化并不是单例 (Singleton) 模式饿汉模式懒汉模式 (堆栈-粗糙版)懒汉模式 (局部静态变量-最佳版)范例代码和注意事项 (最优实现)扩展阅读参考资料我非常赞成合理的使用 设计模式 能让代码更容易理解和维护, 不过我自己除了简单的 单例 (Singleton) 模式 外, 其它都很少用 :-)可耻的是, 直到前段时间拜读了 C++ In Theory: The Singleton ...转载 2018-02-13 12:05:55 · 791 阅读 · 0 评论