![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础知识
平先森
这个作者很懒,什么都没留下…
展开
-
C++类对象的创建与释放过程详解
创建:分配内存(对象的空间)->父类构造->成员的构造-》自己的构造 父类构造:按照继承表从左至右一次构造。 成员构造:按照声明顺序从上到下依次构造 释放:自己析构-》析构成员-》析构父类-》释放内存(对象) 析构成员:按继承表从下到上依次析构 析构父类:按继承表从右到左依次析构 #include<iostream> using namespace std; class...原创 2019-08-16 17:21:42 · 937 阅读 · 0 评论 -
五、C/C++基础知识
1、extern关键字的作用 基本解释:extern可以置于变量或函数前,以标识变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找定义。 2、C中全局变量 局部变量能同名吗? 如果同名怎么访问全局变量? 能,局部会屏蔽全局。要用全局变量,需要使用 “::” ; 3、什么是中断,中断服务程序过长会有什么后果? 中断服务程序过长,可能会出现两种情况:1.运行时间过长,影响同优...原创 2019-09-18 20:47:55 · 154 阅读 · 0 评论 -
四、C/C++基础知识
1、.Socket网络通信中阻塞与不阻塞的区别? 阻塞的情况下,如果读socket,而socket没有数据,则程序就在socket等数据,一直不返回(除非socket错误或者超时) 非阻塞的情况下,如果读socket,而socket没有数据,则返回来,表示读了0个字节回来。 当socket有数据时,阻塞与非阻塞是一样的 2、const和static关键字怎么加,加上去有什么作用? 全局函数加上st...原创 2019-09-16 19:59:38 · 207 阅读 · 0 评论 -
简单的链表创建,添加节点(链表数据从小到大排序),显示,销毁函数
#include<stdio.h> 2 #include<stdlib.h> 3 #include<stdbool.h> 4 typedef struct Node 5 { 6 int data; 7 struct Node* next; 8 }Node; 9 10 Node* creat_node(int ...原创 2019-09-11 21:02:50 · 430 阅读 · 0 评论 -
三、C/C++基础知识总结
1、用一段代码来判断机器是16位还是32位的? 可以使用sizeof计算int的字节长度来判断是32位还是16位。 32位机器下:sizeof(int) = 4;16位机器下:sizeof(int) = 2 二:利用最大值 机器位数不同则表示的数字的最大值是不同的。 32位机器下int的最大值为2147483647,16位机器下int的最大值是32767 我们可以利用最大值是否溢出情况来判...原创 2019-09-11 20:15:32 · 228 阅读 · 0 评论 -
二、C/C++基础知识总结
1、int id[sizeof(unsigned long)];这个对吗?为什么? 答案:正确 这个 sizeof是编译时运算符,编译时就确定了 ,可以看成和机器有关的常量。 2、简述变量的声明和定义有声明区别 声明变量时不会分配内存,定义变量时才会分配内存。 3、简述sizeof和strlen的区别 对于一个字符串变量,strlen()的结果是字符串本身的长度,在本例中BaiJiangWei长...原创 2019-09-10 20:18:18 · 112 阅读 · 0 评论 -
一、C++知识点总结
1、什么是多态 概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。 比如有一个父类superClass,它有2个子类subClass1,subClass2。superClass有一个方法 func(),两个子类都重写了这个方法。那么我们可以定义一个superClass的引用obj,让它指向一个子类的对象,比如superC...原创 2019-09-10 18:44:57 · 129 阅读 · 0 评论 -
C与C++的区别
C和C++的区别 一、C++介绍 本贾尼.斯特劳斯特卢普,于1979年4月份贝尔实验室的本贾尼博士分析UNIX系统分布内核流量分析时,希望有一种有效的更加模块化的工具。 1979年10月完成了预处理器Cpre,为C增加了类机制,也就是面向对象,1983年完成了C++的第一个版本,C with classes 也就是C++。 C与C++的不同点: 1、C++完全兼容C的所有内容 2、支持面向对象的编...原创 2019-09-03 20:46:42 · 486 阅读 · 0 评论 -
C++中覆盖、隐藏、继承的区别
覆盖的条件: 1、必须是虚函数 2、必须时父子类之间 3、函数签名必须完全相同(参数列表完全一致,const属性也会影响覆盖的结果) 4、返回值必须是同类或父子类(子类的返回值要能向父类隐式转换)。 5、访问属性不会影响覆盖 6、常函数属性也会影响覆盖 隐藏的条件: 1、子类隐藏父类中的标识符(不一定时函数) 2、父类中有同名标识符,如不构成覆盖且编译通过,则构成隐藏 重载的条件: 1、同一作用域...原创 2019-09-02 20:21:25 · 252 阅读 · 0 评论 -
C++单例模式
饿汉模式: 1#include <iostream> using namespace std; class Singleton { private: Singleton(void) { } static Singleton object; public: static Singleton& get_object(void) { return object;...原创 2019-09-19 16:31:09 · 158 阅读 · 0 评论