
c/c++基础
文章平均质量分 53
c/c++语言知识记录
坚持学习.
天行健,君子以自强不息;地势坤,君子以厚德载物
展开
-
c++(基础)————智能指针
什么是智能指针? 1、智能指针本质上是一个类,它封装了一个原始的c++指针; 2、它是为了确保动态内存的安全性而产生的,作用类似于常规指针; 3、它主要负责自动释放内存,释放时机也是非常有考究的,多次释放同一块内存会造成程序崩溃,这些都可以通过智能指针来解决。 智能指针的种类及其原理: 原理:用一个对象存储需要被自动释放的...原创 2019-08-13 17:05:07 · 253 阅读 · 0 评论 -
c++(基础)————运算符重载
一、基本用法及注意事项 二、自己实现运算符重载原创 2019-04-25 22:47:58 · 555 阅读 · 0 评论 -
c++(基础)————模板(函数模板与类模板)
一、模板是干什么的? 比如实现一个简单的比较大小的函数,如果要比较int、double、char等多种类型的数据,那么有多少中数据类型,我们就得实现多少个比较函数,然而这些函数除了类型不同之外,其他代码都是一样的(也就是代码实现的功能都相同,只是类型不同)。所以为了解决这种问题,我们就引入了模板,模板就是为了代码重用而生的 二、函数模板: 函数模板提供了一种函数行为,该函数行为可以用多种不同的类型...原创 2019-04-15 16:52:14 · 327 阅读 · 0 评论 -
C++(基础)———— 编译链接过程
我觉得在学习编译链接过程之前有必要了解一下虚拟地址空间。 虚拟地址空间 1、什么是虚拟地址空间? 虚拟地址空间其实就是内存映射出来的存放地址的集合,它不是真实存在的,但又是可见的。 2、32位虚拟地址空间是多大?为啥? 大小:4G 32位即就是32位地址总线(32条),一个位的地址对应一个字节的内存大小;32位地址总线所保存的地址( 地址都是用16进制表示)为 0x 000...原创 2018-10-29 00:20:58 · 286 阅读 · 0 评论 -
C++(基础)———— c和c++的区别(一)
一、函数参数的默认值 C语言: 众所周知c语言的函数参数是没有默认值的。 c++: 1、 参数默认值的赋值: 1、必须从右向左,依次赋默认值 2、不可对函数参数重复赋默认值 代码示例如下: #include<iostream> using namespace std; //int fun(int a, int b = 30,int c);//erro...原创 2018-11-03 17:07:56 · 2835 阅读 · 0 评论 -
C++(基础)———— c和c++的区别(二)
四、const c语言中const的用法: 1)、const就是定义一个常变量 const int a = 10; 2)、数据类型对于const是透明的(const int 等同于int const); 3)、const直接修的内容不能做左值;(左值:放在=符号左边,用写权限;右值:只可读不可写) 4)、const在权限传递时,只能同等或者缩小传递,不能放大传递; 因为在之前文章中有具...原创 2018-11-05 01:46:56 · 329 阅读 · 0 评论 -
C++(基础)————面向对象浅谈
一、面向对象的基本理解 我觉得用现实中的实物作为对比,有利于更好的理解面向对象: 1)、以现实中的实物为例,每种实物都会有自己的属性和行为,然后可以将一种实物(人)抽象成c++中的一个类(人类)。 2)、类的成员变量就相当于实物属性(人一般都具有的特征),类的成员方法就相当于实物行为(人一般都会干的事)。 3)、类的实例化生成对象,对象就相当于这一类实物中具体的一个实物(一个人)。 图示: ...原创 2018-11-11 16:53:03 · 308 阅读 · 1 评论 -
C++(基础)————c和c++的区别(三)
一、申请动态内存 1、基本比较: 二、自定义类型 1、c语言: 2、c++:原创 2018-11-11 18:33:11 · 247 阅读 · 0 评论