C/C++初学知识点汇总
文章平均质量分 55
more-think
我未曾见过一个早起、勤奋、谨慎、诚实的人抱怨命运不好;良好的品格,优良的习惯,坚强的意志,是不会被假设所谓的命运击败的。
展开
-
c++中 子类父类的构造函数调用顺序
问题:创建一个对象调用构造函数的时候是从子类向父类调用还是从父类向子类调用回答:1、对于构造函数,先调用基类的构造函数,再调用派生类的构造函数。就像盖楼的时候先从地基开始,然后第一层,第二层。。。 2、如果是析构,那么先调用派生类的析构函数,再调用基类的析构函数。就像拆楼的时候想从最高层开始拆,然后往下一直到第一层。。。原创 2014-03-18 21:50:00 · 5981 阅读 · 1 评论 -
关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2014-11-06 12:57:17 · 437 阅读 · 0 评论 -
双链表的创建 C语言实现
#include #include #include //定义链表结构体typedef struct node{ char name[20]; struct node *prior; struct node *next;}stud;//创建链表,其中链表的节点数是countstud *create(int count){ stud *pNewNode = NULL;原创 2015-01-26 12:50:56 · 1903 阅读 · 0 评论 -
十进制转二进制 C语言实现
#include #include int main(void){ int num = 123; int i = 0; int arr[30] = {0x00}; while(num != 0) { arr[i++] = num%2; num = num/2; } for(i = 0;i < 15;原创 2015-01-23 14:33:40 · 1559 阅读 · 0 评论 -
二进制转成十进制的ip地址形式
/* *把二进制的流转换为十进制的IP地址 * 比如111111111111 255.255.255.0*/#include #include //函数参数:x代表进制 。N代表层数int bin_ToDec(int x,int n){ if(n == 0) //递归结束条件 { return 1; } return x*b原创 2015-01-23 15:54:06 · 2992 阅读 · 0 评论 -
C++基础知识易错点和易混淆总结汇总(不定时更新)
以下是我本人不定时更新的易错点汇总,如需转载,请注明出处。1、对指针的引用 int a = 10; int *p = &a; //初始化指针p。 int* &pa = p; //这个是对指针p的引用、在我们使用pa的操作。相当于对p的操作持续更新中!!!!!!原创 2015-02-12 17:08:48 · 942 阅读 · 0 评论 -
C++中如何修改const变量
目录(?)[+]一结论二分析g dev cVC 601添加volatile修饰符时输出结果程序代码同上2无 volatile 修饰符时输出结果VS 20101添加 volatile 修饰符时输出结果2无 volatile 修饰符时输出结果一、结论声明:不同于C语言的const变量修改问题(可以通过指针间接修改const变量的值),这里转载 2015-01-26 12:49:05 · 667 阅读 · 0 评论 -
引用和指针的地址是相同的!
如标题:下面是程序测试验证int main(){ int a = 10; int &ra = a; int equal; equal = (&a == &ra)?1:0; cout << equal<<endl; cout <<"&a="<<&a<<endl; cout <<"&ra="<<&ra<<endl; getchar(); return 0;}原创 2015-02-12 16:58:46 · 513 阅读 · 0 评论 -
单链表的建立 C语言实现
#include #include #include struct LNode{ int data; struct LNode *next;};//创建链表,count为创建的链表的节点数目struct LNode *create(int count){ int i; struct LNode *pNode = NULL; struct LNode *pNewNode原创 2015-01-25 17:42:58 · 3948 阅读 · 0 评论 -
可重入函数与不可重入函数(转)
转自:http://www.cppblog.com/franksunny/archive/2007/08/03/29269.html主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被转载 2015-03-27 10:35:56 · 438 阅读 · 0 评论 -
理解驱动对象(DriverObject)
每个驱动程序都会有唯一一个驱动对象表示,驱动对象是对驱动程序的实例化。她由Ring0层的执行体组件中的IO管理器负责加载,并且每个驱动只加载一个实例。在wdm.h头文件中。DriverObject结构如下:typedef struct _DRIVER_OBJECT { CSHORT Type; CSHORT Size; // // The following原创 2015-03-30 19:47:02 · 3926 阅读 · 0 评论 -
C++中main函数执行完毕后还可以执行其他语句么?
很多时候我们在程序退出以前。需要做一些比如资源释放的事情。但是当main函数退出的时候,我们是否有办法来做一些其他事情呢?但是是我们可以使用atexit()函数实现。这个函数来注册程序正常终止的时候。要被调用的函数。函数原型:int atexit(void (*)(void));这个函数在main函数结束时,它调用函数的顺序与注册他们的顺序相反。示例代码如下#includ原创 2015-03-30 15:49:07 · 1970 阅读 · 0 评论 -
有符号和无符号之间的转换
先看看下面的程序输出#include #include int GetChar(unsigned int x,unsigned int y){ int c; (x + y > 10)?(c = 1):(c = 2); return c;}int main(){ printf("c1 = %d\n",GetChar原创 2015-04-02 22:00:59 · 2323 阅读 · 0 评论 -
C++中重载、覆盖、隐藏解析
成员函数被重载的特征(1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是(1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virtual 关键字。 “隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如原创 2014-06-19 17:15:46 · 533 阅读 · 0 评论 -
C中的getchar()函数的使用总结
在C语言中有个重要的库函数getchar(),可从终端获得一个字符的ASCII码值。在终端输入字符时并非输入一个字符就会返回,而是在遇到回车换行前,所有输入的字符都会缓冲在键盘缓冲器中,直到回车换行一次性将所有字符按序依次赋给相应的变量,在这里一定要注意最后一个字符即'\n',该字符也会赋给一个相应的变量(当然这要你定义的用来接收字符的变量数比你输入的可见字符多一才可以)。 其实,get转载 2014-05-29 16:06:18 · 1053 阅读 · 0 评论 -
学习C++的专家推荐路线
学习C++的话,看你目前的水平,我说一下从完全不懂到最后高手的专家推荐路线吧: 1. 《C++ Primer》Lippman写的,经典中的经典,C++入门的宝典,读完这本书,基本语法过关,部分技巧掌握。 2.《The C++ programming language》C++的创始人Bjarne Stroustrup写的,这本书的权威性毋庸置疑,而且这里面讲到了一些比较底层的东西,如果你看过了《原创 2014-03-21 15:58:09 · 970 阅读 · 0 评论 -
共用体概念2点分析
1、共用体(union)是一种数据格式,能够存储不同的数据类型。但是只能同时存储其中的一种类型。也就是说,结构体能够同时存储int ,long,double等。但是共用体只能存储这3个中的一个2、共用体的用途之一是:当数据项使用2种或者更多的格式的时候(但不会同时使用)。。用共用体可以节省空间原创 2014-03-20 16:52:00 · 809 阅读 · 0 评论 -
Effective C++读书笔记
记得前段时间又一次拿起《Effective C++》的时候,有种豁然开朗的感觉,所以翻出了我第一遍读时做的笔记。只做参考以及查阅之用。如有需要请参阅《Effective C++》书本。 by shenzi/2010.5.17一.让自己习惯C++ 条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言:C。说到底C++仍转载 2014-03-20 18:07:26 · 640 阅读 · 0 评论 -
c++ 字面值常量
字面值常量(literal constant),“字面值”是指只能用它的值称呼它,“常量”是指其值不能修改。每个字面值都有相应的类型,3.14是double型,2是int型。只有内置类型存在字面值。原创 2014-03-21 17:46:08 · 671 阅读 · 0 评论 -
指正与constexpr
在constexpr中如果申明了一个指针,那么该限定符只是对指针有效,与指针所指的对象无关1、const int *p = nullptr; //p是一个指向常量的指针2、constexpr int *q = nullptr; //q是一个指针常量这2个有很大区别,原因是constexpr把对象置为了顶层const。原创 2014-03-21 17:52:22 · 533 阅读 · 0 评论 -
一个合格的程序员应该读过哪些书
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是转载 2014-03-21 22:10:22 · 478 阅读 · 0 评论 -
常量成员函数
const 限定类的成员函数: class classname { public: int fun() const; ..... } 注意:采用此种const 后置的形式是一种规定,亦为了不引起混淆。在此函数的声明中和定义中均要使用const,因为const已经成为类型信息的一部分。 获得能力:可以操作常量对象。 失去能力:不能修改类的数据成原创 2014-03-24 20:22:09 · 525 阅读 · 0 评论 -
隐式类类型转换
C++ primer 中有这么一句话:可以用单个实参来调用的构造函数定义了从形参类型到该类型的一个隐式转换。这么解释:比如有个类A的对象a的成员函数的参数应该是类A的对象,但是把一个别的类型B的对象b传进去了,而且这个对象b的类型恰好是A的单参数构造函数参数类型,这时系统就用这个b自作聪明的创建了一个类A的临时对象c,虽然c和a都是A类型,但是是不同的对象。这种隐式转换有很大风险,可以转载 2014-03-25 15:08:04 · 510 阅读 · 0 评论 -
VS的常用快捷键如下:
CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL +原创 2014-04-06 15:16:46 · 896 阅读 · 0 评论 -
代码复用之道:回调机制及c++实现回调方法小结
首先要严正声明:这里的回调机制不等同于回调函数,而是代表了软件先进生产力的发展要求,代表了先进设计模式的前进方向,代表了广大软件开发人员的最根本利益。 再来说个笑话:古来时常听说回调,我也还记得,可是不甚清楚。我翻开书籍一查,这书籍没有年代,歪歪斜斜的每页上都写着“设计模式”几个字。我横竖睡不着,仔细看了半夜,才从字缝里看出字来,满本都写着两个字是“回调”! 好。言归正传,编程转载 2014-04-09 12:38:32 · 1940 阅读 · 0 评论 -
C中main()参数
main()函数既可以是无参函数,也可以是有参的函数。对于有参的形式来说,就需要向其传递参数。但是其它任何函数均不能调用main()函数。当然也同样无法向main()函数传递,只能由程序之外传递而来。这个具体的问题怎样解决呢?我们先看一下main()函数的带参的形式:main(int argc,char *argv[]){.....}从函数参数的形式上看,包含一个整转载 2014-05-27 12:21:15 · 607 阅读 · 0 评论 -
C/C++程序编译步骤 如何生成可执行文件
*******************************************************篇一******************************************************************************************** 电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计转载 2016-02-20 22:02:29 · 1529 阅读 · 0 评论