C/C++
北顾江野
当你的能力撑不起你的野心的时候,就应该静下心来学习
展开
-
详解const 用法
const关键字的基本功能和用法:1.const的用法:(1)定义常量(2)修饰函数的参数(3)修饰函数的返回值(4)修饰函数的定义体 1.将限定符声明为只读,修饰普通类型的变量。 在类型前/后加上关键字const,该变量必须被初始化,否则编译错误;该变量不能被重新赋值,否则也编译错误。举例: const int i=100; //okco...原创 2019-07-24 11:51:57 · 4513 阅读 · 1 评论 -
C++中全局变量和局部变量的区别
可从下面四个方面进行区别:作用域: 全局变量作用于整个程序; 局部变量作用于当前函数。2.内存分配: 全局变量内存分配在自由分配区; 局部变量分配在栈区。3.生存周期不同 全局变量:跟随系统的创建而创建,销毁而销毁; 局部变量:局部函数内部,甚至局部循环体内部,退出就不存在。4.使用...原创 2019-08-20 16:09:38 · 2844 阅读 · 1 评论 -
C++:指针和引用的区别
知识扩充:使用指针的优点和必要性:指针能够有效的表示数据结构; 能动态分配内存,实现内存的自由管理; 能方便的使用字符串; 便捷高效的使用数组; 指针直接和数据的存储地址有关:比如 : 值传递没有地址传递高效,因为值传递先从实参的地址取出值,再赋值给形参代入函数计算;指针则是把 实参的地址直接指向实参地址,使用时直接取出数据,效率提高,特别是在频繁赋值等情况下(形参的改变会影...原创 2019-08-20 16:07:54 · 145 阅读 · 0 评论 -
C++中class和struct的区别
C中的struct不能有函数,但是C++中可以。 C++中的struct对C中的struct进行了扩充,它已经不再是一个包含不同数据类型的数据结构了。它已经获取了太多的功能。Struct能包含成员函数吗? 能!Struct能继承吗? 能!Struct能实现多态吗? 能!三方面:默认的访问权限:Class中的成员默认的访问权限都是privateStruct中的成员默认的...原创 2019-08-20 16:04:05 · 192 阅读 · 0 评论 -
C++——oop思想
oop:面向对象编程(object oriented programming),是一种计算机编程架构。对象是由数据和容许的操作组成的封装体,和客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而继承性是具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识理解、刻画客观世界和设计、构造相应的软件系统。属性和方法...原创 2019-07-25 15:56:30 · 409 阅读 · 0 评论 -
C和C++的区别
区别:c语言: 面向过程的语言,c++:面向对象的语言 .二者动态管理内存的方法不一样:c语言:使用malloc/free函数,c++除此之外还有new/delete关键字(知识点1:new和malloc的区别) 关于重载:c语言不支持重载,但是c++支持函数重载。c++支持重载的原因在于c++的名字修饰和c不同,例如在c++中 int fun(int,int)函数的形式就是 _fun...原创 2019-07-22 20:45:49 · 186 阅读 · 0 评论 -
关键字static的作用和用途
在C语言中,关键字static的意思是静态的,主要有三种作用:(修饰函数,全局变量,局部变量)(1)在函数体内,一个被声明为静态的变量在这一函数被调用的过程中其值维持不变。(2)在模块内(但是在函数外),它的作用域范围是有限制的,如果一个变量被声明为静态的,那么该变量可以被模块内所有的函数访问,但不能被模块外的其他函数访问。(3)内部函数应该在当前源文件中说明和定义,对于可在当前源文件...原创 2019-07-24 20:45:53 · 2433 阅读 · 0 评论 -
虚拟地址空间的深度剖析
1.为什么引用虚拟内存: 当我们运行一个程序时,会将程序全部装入内存,然后运行。但是在运行时经常会出现一些问题:(1)继承地址空间没有隔离,没有权限保护。 由于程序都是访问物理内存,所以一个进程可以修改其他进程的内存数据,甚至修改内核地址空间的数据,很不安全。(2)内存使用的效率极低 当内存空间不足时,要将其他程序暂时拷贝到硬盘,让...原创 2018-11-19 21:00:50 · 329 阅读 · 0 评论 -
函数的堆栈调用
每一个程序的执行都使用了栈,栈被定义为一个特殊的容器,用户可以将数据压入栈中(入栈,push),也可以将已经压入的数据弹出(pop,出栈),但栈这个容器必须遵守一条规则“先进后出”。在操作系统中,栈是动态内存区域,程序可以将数据压入栈中,也可以将数据从栈顶弹出。在i386下,栈顶由称之为esp的寄存器进行定位。栈在程序运行中具有举足轻重的地位。栈保存了一个函数调用所需要的维护信息,被称之为...原创 2018-11-19 21:53:12 · 264 阅读 · 0 评论 -
c++:类与对象,封装,访问限定符,默认成员函数
到底什么是类?什么是对象? 类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。 类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。对象是一个动态的概念,每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为,对象的属性可以随着它自己的行为而发生改变。 ...原创 2018-11-26 00:13:59 · 472 阅读 · 0 评论 -
学习STL标准库——容器
STL是什么?STL是 ——标准库,是一个高效的C++标准库,是一些 容器、算法和其他一些组件的集合。STL是目的是为了标准化组件,这样就可以不用再构建新的组件、直接使用现成的组件STL现在是C++的一部分,被内置在你的编译器中。STL可以保存对象,内建对象和类对象。它们能安全的保存对象,并且定义一个我们能操作它的接口。STL组件有什么?STL主要分为三类:容器、算法、迭代器。1.容...原创 2019-09-14 18:35:37 · 401 阅读 · 0 评论