随笔分类 -  C/C++

摘要:(转载)http://blog.csdn.net/delphiwcdj/article/details/8476547如何获取进程的PID(process ID)?可以使用:#includepid_tgetpid(void);通过查看头文件说明,可以得到更详细的信息:find/usr/include-nameunistd.h/usr/include/asm/unistd.h/usr/include/bits/unistd.h/usr/include/linux/unistd.h/usr/include/sys/unistd.h/usr/include/unistd.hcat/usr/inclu 阅读全文
posted @ 2013-09-17 18:18 z折腾 阅读(1209) 评论(0) 推荐(0)
摘要:一、 (1)在linux下类似uint8_t这样的文件定义在头文件里面 (2)截取了stdint.h头文件里的一些常用部分 二、c++中c_str()用法 函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样: char* c; string s="1234"; ... 阅读全文
posted @ 2013-09-17 17:30 z折腾 阅读(516) 评论(0) 推荐(0)
摘要:原文http://blog.csdn.net/liufei_learning/article/details/5391334一、 为什么需要命名空间(问题提出)命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。 1、全局变量的作用域是整个程序,在同一作用域中不应有两个或多个同名的实体(enuty),包括变量、函数和类等。例:如果在文件中定义了两个类,在这两个类中可以有同名的函数 阅读全文
posted @ 2013-08-26 23:08 z折腾 阅读(278) 评论(0) 推荐(0)
摘要:原文地址http://www.cnblogs.com/waynelu/archive/2012/07/01/2572264.html构造函数构造函数、析构函数与赋值函数是每个类最基本的函数。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A 产生四个缺省的函数,例如:1 A(void); // 缺省的无参数构造函数2 A(const A &a); // 缺省的拷贝构造函数3 ~A(void); // 缺省的析构函数4 A & operate =(const A &a); // 缺省的赋值函数默认构造函数与默认析构函数仅负责对象的创建和销毁,不做对象的初始化和 阅读全文
posted @ 2013-08-26 22:52 z折腾 阅读(356) 评论(0) 推荐(0)
摘要:原文地址http://blog.csdn.net/bug07250432/article/details/10150625 在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为: template......在 这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typename这个关键字,它的作用同class一样表明后面的符号为一个类型,这样在.. 阅读全文
posted @ 2013-08-26 22:41 z折腾 阅读(3885) 评论(0) 推荐(0)
摘要:转载http://www.cnblogs.com/carbs/archive/2012/04/04/2431992.html问题:我看的书上写的对私有部分的访问可以是公共部分的成员函数,也可以是友员函数,那么可以直接对私有部分的静态成员进行初始化吗? 回答:1.static成员的所有者是类本身和对象,但是多有对象拥有一样的静态成员。从而在定义对象时不能通过构造函数对其进行初始化。2.静态成员不能在类定义里边初始化,只能在class body外初始化。3.静态成员仍然遵循public,private,protected访问准则。4.静态成员函数没有this指针,它不能返回非静态成员,因为除了对象 阅读全文
posted @ 2013-08-14 21:52 z折腾 阅读(3861) 评论(0) 推荐(0)
摘要:/home/ztteng/work/test/20130814/inc/PartList.h: In constructor ‘CarPart::CarPart(int, int)’:/home/ztteng/work/test/20130814/inc/PartList.h:21: warning: ‘CarPart::itsModelYear’ will be initialized after/home/ztteng/work/test/20130814/src/PartList.cpp:10: warning: base ‘Part’/home/ztteng/work/test/201 阅读全文
posted @ 2013-08-14 21:36 z折腾 阅读(329) 评论(0) 推荐(0)
摘要:转载http://www.cnblogs.com/8586/archive/2008/09/08/1287028.html纯虚函数是一种特殊的虚函数,它的一般格式如下:class { virtual ()=0; … }; 在许多情况下,在基类中不能对虚函数给出有意义有实现,而把它说明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。下面给出一个纯虚函数的例子。#include class point { public: point(int i=0, int j=0) { x0=i; y0=j; } virtual void set()... 阅读全文
posted @ 2013-08-14 20:08 z折腾 阅读(801) 评论(0) 推荐(0)
摘要:一、友元类相关概念 要将私有成员数据或函数暴露给另一个类,必须将后者声明为友元类。 注意三点: (1)友元关系不能传递 (2)友元关系不能继承 (3)友元关系不能互通 阅读全文
posted @ 2013-08-14 19:40 z折腾 阅读(185) 评论(0) 推荐(0)
摘要:转载http://www.cnblogs.com/kadinzhu/archive/2011/12/12/2284826.html看《effective c++》,作者一直强调用std::tr1::shared_ptr,比起auto_ptr好多了。shared_ptr采用引用计数,多个指针可以指向同一个对象;auto_ptr就不能,只能运行一个指针指向一个对象:如果要指针赋值,那么原来的指针要放弃对该对象的所有权。恩,以后都用shared_ptr。shared_ptr在最新的c++11中,已经被列入了标准指针,而auto_ptr则出局了。说了那么多,shared_ptr采用RAII技术,是防止 阅读全文
posted @ 2013-08-14 19:14 z折腾 阅读(477) 评论(0) 推荐(0)
摘要:转载http://www.cnblogs.com/geekliu/archive/2012/04/24/2468403.htmlclass MyClass{public:MyClass(int num);...}MyClass obj = 10; //ok,convert int to MyClass在上面的代码中编译器自动将整型转换为MyClass类对象,实际上等同于下面的操 作:MyClass temp(10);MyClass obj = temp;上面的 所有的操作即是所谓的"隐式转换".如果要避免这种自动转换 的功能,我们该怎么做呢?嘿嘿这就是关键字explicit 阅读全文
posted @ 2013-08-14 19:06 z折腾 阅读(275) 评论(0) 推荐(0)
摘要:头文件Hi_String.h#include#includeusing namespace std;class Hi_String{public: Hi_String(); ~Hi_String(); Hi_String(const Hi_String& mystring); Hi_String(const char* const mystring); int GetLen() const {return itsLen;} const char* GetString() const {return itsString;} /*对于等号可以这样理解s1=... 阅读全文
posted @ 2013-08-11 15:46 z折腾 阅读(719) 评论(0) 推荐(0)
摘要:非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误),表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用) 阅读全文
posted @ 2013-08-06 20:38 z折腾 阅读(735) 评论(0) 推荐(0)
摘要:简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。下面来看一段简单的代码 通过class A和class B的print()这个接口,可以看出这两个class因个体的差异而采用了不同的策略,输出的结果也是我们预料中的,分别是This is A和This is B。但这是否真正做到了多态性呢?No,多态还有个关键之处就是一切用指向基类的指针或引用来操作对象。那现在就把main()处的代码改一改。 运... 阅读全文
posted @ 2013-08-06 20:35 z折腾 阅读(496) 评论(0) 推荐(0)
摘要:一、访问控制:(1)public 修饰的成员变量在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例直接访问(2)private 修饰的成员变量只有类内可直接访问,私有的,类的实例要通过成员函数才可以访问,这个可以起到信息隐藏(3)protected 是受保护变量类内和子类可直接访问,也就是说,基类中有protected成员,子类继承于基类,那么也可以访问基类的protected成员,要是基类是private成员,则对于子类也是隐藏的,不可访问 这里如果不考虑继承只在本类内;其效过相当于private; 但是希望子类能访问父类的成员变量可以用prote... 阅读全文
posted @ 2013-04-25 22:31 z折腾 阅读(1160) 评论(0) 推荐(0)
摘要:map用法1、map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能 自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。 快速插入Key - Value 记录。 快速删除记录 根据Key 修改value记录。 遍历所有记录。 3、使用map 使用map得包含map类所在的头文件 #i... 阅读全文
posted @ 2013-04-25 21:09 z折腾 阅读(218) 评论(0) 推荐(0)