摘要: C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。1 static_cast用法:static_cast < type-id > ( expression )该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是 阅读全文
posted @ 2013-04-17 16:41 大猫814 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/angus_17/article/details/7762472首先查看oracle数据库的编码SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';PARAMETER--------------------VALUE--------------------NLS_CHARACTERSETAL32UTF8这其来源于props$,这是表示数据库的字符集。oracle客户端编码SQL> select * from nls 阅读全文
posted @ 2013-01-28 13:54 大猫814 阅读(199) 评论(0) 推荐(0) 编辑
摘要: string strPath(CONFIG); strPath += "\\LOG.ini"; cout<<strPath<<endl; int res = WritePrivateProfileStringA("section", "key1", "123", strPath.c_str());//0表示失败,非0表示成功 cout<<res<<endl; int num = GetPrivateProfileIntA("section", &q 阅读全文
posted @ 2012-12-17 10:51 大猫814 阅读(19358) 评论(0) 推荐(1) 编辑
摘要: 第一次在CentOS(64bit)下编译时出现如标题的错误,之前在其他机器上编译没有问题,后来发现可能是引用的库可能跟当前操作系统位数不同的原因。首先查看了当前系统下的位数 shell下输入: getconf LONG_BIT得知系统为64位,再查询库文件编译时的系统位数,shell下输入:readelf -h libxxxx.so返回CLASS一行显示ELF32,可知该库文件实在32位系统下编译的,于是拿到64位下重新编译后,问题解决了。 阅读全文
posted @ 2012-12-04 10:02 大猫814 阅读(14004) 评论(0) 推荐(0) 编辑
摘要: 一.shell环境变量的分类以及set env export的区别:set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样env:显示(设置)用户变量变量export:显示(设置)当前导出成用户变量的shell变量。举个例子来讲:$ aaa=bbb --shell变量设定$ echo $aaabbb$ env| grep aaa --设置完当前用户变量并没有$ set| grep aaa --shell变量有aaa=bbb$ export| grep aaa --这个指的export也没导出,. 阅读全文
posted @ 2012-11-05 13:35 大猫814 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 对于非数组类型为可选项,对于数组类型则不含此项,应换为当作下标上界的表达式。 格式举例: (1) new int; (2) new int(5); (3) new char[10]; (4) new int[n]; (5) new double[m+1][N+1]; (6) new char*(&x); 执行第1条运算时将分配到具有4个字节的整数存储空间,并返回该存储空间的地址,即指向该存储空间的指针,该指针的类型为int*。 执行第2条运算时同样分配到具有4个字节的整数存储空间,返回该存储空间的地址,并且对该存储空间进行初始化,使之存储一个整数5。 执行第3条运算时,... 阅读全文
posted @ 2012-09-13 15:42 大猫814 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 我的理解:对于一个数组,delete和delete[]都可以释放内存空间,但是只有delete[]才会调用每一个数组元素的析构函数,而delete只能调用第一个数组元素的析构函数。对于基本数据类型,没有析构函数,所以使用delete和delete[]没有区别。C++告诉我们在回收用new分配的单个对象的内存空间的时候用delete,回收用new[]分配的一组对象的内存空间的时候用delete[]。关于new[]和delete[],其中又分为两种情况:(1)为基本数据类型分配和回收空间;(2)为自定义类型分配和回收空间。对于(1), delete[]和delete是等同的。但是对于(2),情况就 阅读全文
posted @ 2012-09-13 15:14 大猫814 阅读(170) 评论(0) 推荐(0) 编辑
摘要: malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。我们先看一看malloc/fr 阅读全文
posted @ 2012-09-13 14:54 大猫814 阅读(130) 评论(0) 推荐(0) 编辑