c++
ForDi昵称已经存在
这个作者很懒,什么都没留下…
展开
-
C++的4种类型转换关键字及其特点
转自:http://blog.sina.com.cn/s/blog_4b20940201013ryp.html1 reinterpret_cast'reinterpret_cast'转换一个指针为其它类型的指针。它也允许从一个指针转换为整数类型。反之亦然。(译注:是指针具体的地址值作为整数值?)这个操作符能够在非相关的类型之间转换。操作结果只是简单的从一个指转载 2015-06-21 13:42:38 · 419 阅读 · 0 评论 -
引用其他项目中的头文件
很多时候写代码需要包含其他项目的头文件,如#include" ";这时应该怎么做呢?下面是一种方法。下图是整个布局从图中可以看出,在未引用其他项目的头文件时,本项目是没有问题的。接下来,我想引用test项目中的T.h文件应该怎么操作呢?1.test项目属性-〉配置属性-〉常规-〉配置类型,改成静态库;重新生成test项目,到整个解决方案里面找test.lib,将此t原创 2015-11-23 21:28:42 · 4595 阅读 · 4 评论 -
枚举类型的作用
学C的候老师没有很详细讲到枚举类型,但在学C++和做一些实践的时候发现,枚举类型有时候是必要的。 有时我们希望某些常量只在类中有效。由于#define定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用const修饰数据成员来实现。const数据成员的确是存在的,但其含义却不是我们所期望的。const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以转载 2015-11-04 21:17:58 · 6062 阅读 · 0 评论 -
详解C++中命名空间的意义和用法
原文:http://www.jizhuomi.com/software/289.html看过鸡啄米的C++编程入门系列教程的朋友,应该能注意到,在其中的很多实例中,都有这么一条语句:using namespace std;,即使用命名空间std,其作用就是规定该文件中使用的标准库函数都是在标准命名空间std中定义的。本文就详细讲解命名空间的意义和用法。命名空间的意义为什么需要将转载 2015-11-02 12:19:57 · 2645 阅读 · 0 评论 -
#include<string> 与#include<string.h>
1、使用string对象时,必须头文件(#include) 和 命名空间(using namespace std;或using std::string;)2、#include是#include的升级版3、使用strcmp(),strcpy()等函数,需添加#include或#include已在VC验证。原创 2015-09-15 10:57:02 · 1929 阅读 · 0 评论 -
c++ 隐藏规则
关于c++隐藏规则的简单理解原创 2015-07-19 16:54:56 · 663 阅读 · 0 评论 -
extern c
原文链接:http://blog.csdn.net/jiqiren007/article/details/5933599extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而转载 2015-08-04 10:29:16 · 363 阅读 · 0 评论 -
多态的覆盖(重写)
多态覆盖的简单理解原创 2015-07-19 15:56:28 · 965 阅读 · 0 评论 -
排序之单链表插入排序
//插入排序LinkList* LinkList::Sorting(){ LinkNode *p1 = phead->pnext;//前指针 LinkNode *p2 = p1->pnext;//当前指针 LinkNode *p=phead->pnext;//滚动指针 LinkNode *pp=phead;//滚动指针的前一个指针 LinkNode *q=phead->pnext原创 2015-06-13 14:06:59 · 967 阅读 · 0 评论 -
A *p=new B;
引自:http://wenwen.sogou.com/z/q356278527.htmA* P=new B;//你要注意,虽然P是一个基类的指针。但是new B调用的是派生类B的构造方法,所以构造的是B类对象。先调用A的构造函数,再调用B的构造函数。构造完后会返回B类对象的地址,然后将它赋给一个基类指针P。B* q=new B;//这里和上面唯一的区别就是,将B类对象的地址赋给了派生类原创 2015-06-12 13:21:53 · 5204 阅读 · 1 评论 -
类学习之一Pass arguments to base class
#include using namespace std;class BaseClass { int i;public: BaseClass(int n) { cout << "Constructing base class\n"; i = n; } ~BaseClass() { cout << "Destructing base class\原创 2015-06-11 21:17:04 · 461 阅读 · 0 评论 -
类学习之Use Base keyword to call method in parent class from subclass
使用基础关键字从子类调用父类方法#include using namespace std;class Base { public: void display(void) { cout << "This is the base class" << endl; };};class Derived: public Base { public: void display(vo原创 2015-06-11 22:00:05 · 493 阅读 · 0 评论 -
string 与char*、 char[]之间的转换
原文地址:http://blog.csdn.net/cogbee/article/details/89318381、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。注意,与char*不同的是,string转载 2015-06-07 20:47:24 · 9814 阅读 · 0 评论 -
c++公用数据的保护
c++虽然采取了不少有效的措施(设private保护)以增加数据的安全性,但是有些数据却往往是共享的,如实参与形参,变量与引用,数据及其指针等,人们可以在不同的场合通过不同的途径访问同一个数据对象。有时在无意之中的误操作会改变有关数据的状况,而这是人们所不希望出现的。既要使得数据能在一定范围内共享,又要保证它不被任意修改,这时可以使用const,即把有关的数据定义为常量。——引自《c++程序设计,原创 2015-06-09 18:55:23 · 1257 阅读 · 0 评论 -
c++数据成员变量初始化顺序问题及特殊成员变量类型初始化
#includeusing namespace std;class A{private: int b; int a;public: //A():a(0),b(a+2){}; A(); void print();};A::A(){ a=0; b=a+2; }void A::print(){ cout<<"a:"<<a<<" b:"<<b<<endl;原创 2015-06-09 12:27:27 · 871 阅读 · 0 评论 -
关于“32位系统支持4g内存的访问”的理解
这句话该怎么理解呢?32位系统是什么意思?为什么是4g内存? 32位系统指cpu的位数,而cpu的位数指的是什么呢?指的是cpu的总线数,也就是说32位系统指32根总线的cpu。 4g内存又是怎么来的?有人说2的32次方等于4g,那为什么等于4g呢?首先,应该明确这样的知识点: 根据cpu每根总线高低电平的不同可以有2的32次方次不同原创 2015-11-02 21:14:05 · 1328 阅读 · 0 评论