![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
lanyzh0909
这个作者很懒,什么都没留下…
展开
-
探索C++的秘密之详解extern "C"
<br />时常在cpp的代码之中看到这样的代码: <br /><br />#ifdef __cplusplus <br />extern "C" { <br />#endif <br /><br />//一段代码 <br /><br />#ifdef __cplusplus <br />} <br />#endif <br /> 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代转载 2010-10-08 14:03:00 · 642 阅读 · 0 评论 -
C++ ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout 2、析取器(>>)转载 2012-09-27 15:42:29 · 962 阅读 · 0 评论 -
PDU短信的编码一般规则
目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发转载 2012-11-20 11:14:57 · 1279 阅读 · 0 评论 -
C++内联函数(Inline)
介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的功 能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如 #define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放 在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执转载 2012-12-24 14:07:17 · 1312 阅读 · 0 评论 -
C语言中fgetc()函数的返回值意义
2010-05-26 09:44C语言fgetc()函数的返回值意义学习C语言的,文件操作,大都会用到它。它的函数原型:int fgetc( FILE* stream );这个函数的返回值,是返回读取的一个字节。如果读到文件末尾返回EOF。EOF其实就是一个宏#define EOF (-1)表示-1.既然返回的是一个字节,为什么返回值确用原创 2012-12-05 19:58:49 · 20461 阅读 · 5 评论 -
PIMPL 模式的实现及应用
pImpl惯用手法的运用方式大家都很清楚,其主要作用是解开类的使用接口和实现的耦合。如果不使用pImpl惯用手法,代码会像这样: //c.cc #include class C { public: void f1(); private: X原创 2013-04-21 20:59:05 · 1226 阅读 · 0 评论 -
有关automake的用法
1、http://www.ibm.com/developerworks/cn/linux/l-makefile/#N100A02、http://www.cnblogs.com/itech/archive/2010/11/28/1890220.html3、http://tech.sina.com.cn/s/2004-10-19/1115443045.shtml原创 2013-04-21 21:15:34 · 784 阅读 · 0 评论 -
标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
static_cast:用法:static_cast ( exdivssion )该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:1)用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动原创 2010-03-18 12:05:00 · 723 阅读 · 0 评论 -
mysql数据库操作
创建数据库最简单的方式CREATE DATABASE my_db;或者是CREATE DATABASE IF NOT EXISTS my_db; 创建utf8编码的数据库CREATE DATABASE IF NOT EXISTS my_db default character set utf8 COLLATE utf8_genera转载 2014-10-24 17:15:39 · 695 阅读 · 0 评论 -
STL STD::list使用说明
stl list使用说明使用标准的std::list进行容器数据处理时,操作比较底层。我们可以,减少引用标准MFC标准库,减少系统的大小,但同时也存在有不方便的操作之处,这里同大家分享一些使用心得...... 在使用std::list::iterator链表遍历器进行访问list STL 中的list 就是一 双向链表,可高效转载 2012-05-15 10:45:43 · 51040 阅读 · 3 评论 -
《Effective_C++》读书笔记4
条款21、必须返回对象时,别妄想返回其reference。1)觉不要返回pointer或reference指向一个local stack对象,或返回reference指向一个heap-allocated对象,或返回pointer或reference指向一个local static对象而有可能同时需要多个这样的对象。条款22、将成员变量声明为private1)切记将成员变量声明为pr原创 2012-01-04 16:52:41 · 769 阅读 · 0 评论 -
《Effective_C++》读书笔记3
条款11、在operator= 中处理“自我赋值”1)确保当对象自我赋值时operator= 良好行为。其中技术包括比较“来源对象”和“目标对象”的地址、精心周到的语句顺序、以及copy-and-swap.2)确定任何函数如果操作一个以上的对象,而其中多个对象是同一个对象是,其行为依然正确条款12、复制对象时勿忘其每一个成分1)Copying函数应该确保复制“对象内的所原创 2011-12-31 15:11:10 · 757 阅读 · 0 评论 -
C++虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。 当然,相转载 2011-01-21 11:09:00 · 716 阅读 · 0 评论 -
std::string用法总结
在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化string类的字符操作:const char &operator[](int n)c转载 2011-11-10 20:34:23 · 195766 阅读 · 8 评论 -
《Effective_C++》读书笔记1
条款1、视C++为一个语言联邦(C,Object-Oriented C++,Template C++,STL)条款2、尽量以const,enum,inline替换#define1)对于单纯常量,最好以const对象或enums替换#define2)对于形式似函数的宏(macros),最好改用inline函数替换#define条款3、尽可能使用const1)cosnt出现原创 2011-12-21 11:07:24 · 783 阅读 · 0 评论 -
《Effective_C++》读书笔记6
条款41、了解隐式接口和编译期多态1)classes和templates都支持接口(interface)和多态(polymorphism)。2)对classes而言接口是显式(implicit),奠基于有效表达式。多态则是通过template具现化和函数重载解析(function overloading resolution)发生于编译期。条款42、了解typename的双重意义原创 2012-01-13 15:51:19 · 754 阅读 · 0 评论 -
《Effective_C++》读书笔记5
条款31、将文件间的编译依存关系降至最低1)支持“编译依存性最小化”的一般构想是:相依于声明式,不要相依与定义式。基于构想的两个手段是Handle class和Interface classes。2)程序库头文件应该以“完全且仅有声明式”的存在。这种做法不论是否涉及templates都适用。条款32、确定你的public继承塑模出is-a关系1)“public”继承意味is-a原创 2012-01-13 15:46:51 · 743 阅读 · 0 评论 -
VS2005下使用boost库环境的搭建
1、 到http://www.boost.org/下载了一份最新的boost库:boost_1_48_0 2、 解压到d盘根目录下:d:/boost_1_48_0 3、开始->所有程序-> Microsoft Visual studio 2005->Visual studio Tool->Visual studio 2005命令 4、进入boost的下载路径 d:原创 2012-02-02 11:35:08 · 2897 阅读 · 0 评论 -
《Effective_C++》读书笔记2
条款5、了解C++默默编写并且调用哪些函数1)编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符、以及析构函数2)当Class中含有non-static const 成员变量 和 non-static reference成员变量时,编译器将拒绝赋值动作3)当Base class 将copy assignment声明为privat原创 2011-12-30 17:32:49 · 802 阅读 · 0 评论 -
笔试试题
最近,接到了XXX公司的面试!有几道比较基本的算法试题如下1、将一个单向列表逆序2、统计在一个字符串中,字符出现次数最多的一个字符和次数3、将一个数值转换为任意进制的格式数,并且以字符串的格式保存下面是我自己写的,留着以后再用typedef struct node{ int data; node* pnext;}*lpNode, Node;/* 函数原创 2012-02-07 10:06:44 · 859 阅读 · 0 评论 -
JsonCpp的安装
1、下载工具JsonCpphttp://sourceforge.net/projects/jsoncpp/files/sconshttp://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz说明:① 安装JsonCpp需要下载JsonCpp和Scon还需要机器上有p转载 2014-11-20 16:35:06 · 3126 阅读 · 0 评论