
C++
sin++
这个作者很懒,什么都没留下…
展开
-
C++-细说指针的初始化和赋值那些坑
如果我们赋值的时候是这样的*a是指向地址的数据,如果我们直接cin>>a,等于只填写了首元素 后面的并没有初始化 当然会报错所以要这样才是写入全部元素其次这样的赋值也是不对的,因为也是只等于赋值了首地址 没有赋值全部的地址下面才是对的...原创 2020-03-18 21:40:38 · 533 阅读 · 0 评论 -
C++-虚函数,重写,多态,向上向下转型,纯虚函数,接口,重定义,模板,内联,命名空间
virtual(1)虚函数是为了解决继承中多态的问题,比如基类动物,方法行动,派生类老虎,蛇,鸟都能继承基类的行动方法,但是有跑有爬有飞各有不同,这些应该是在运行的时候根据对象选择的方法, 而不是在编译的时候就确定选择。函数的重载是根据返回值,参数的不同做区别,函数的重写是根据对象的不同做区别,其中多态的实现是派生类向上转型成基类。(2)将析构函数设为虚函数,因为析构的属性是派生类-基类,如果...原创 2020-03-15 02:14:56 · 293 阅读 · 0 评论 -
C++-详解class成员,构造,复制构造,析构函数,public,private,protect,内部类,static,this,friend,菱形继承
class其实就是struct的升级版,在java中已经删除了struct,全面改用classclass由包括成员函数和成员变量两种属性组成,成员函数又包括自定义函数和必须有的构造函数和析构函数,其中构造函数又包括默认无参的默认构造函数,自定义的构造函数(重载特色),以及复制构造函数,并且复制构造函数如果没有自定义,系统也会生成默认的复制构造函数。注意默认的复制构造函数是浅拷贝。也就是说b复制a...原创 2020-03-14 23:05:04 · 808 阅读 · 0 评论 -
C++-指针函数,函数指针,回调函数,指针数组,数组指针
指针函数就是返回值是指针的函数,我们可以利用它来设置多个返回值char *fun(char *name,char *sex,char* age){ cin >> name; cin >> sex; strcat_s(name,10, sex); cin >> age; strcat_s(name, 20, age); return name;...原创 2020-03-14 11:46:59 · 181 阅读 · 0 评论 -
C++-从存储地址的角度分析指针和引用
首先我们只知道一个变量的大小和地址的分配是从定义开始的,初始化和赋值是将内容写入这个地址。关于引用,变量的区别我们参考下面这个图int main(){ int a; int *a0; int *a1 = new int; a1 = &a; int &a2 = a; int &a3 = *a1; cout << a << "\n"...原创 2020-03-13 22:32:34 · 147 阅读 · 0 评论 -
C++-巧用二级指针输出n个m大小的字符串
int main(){ char **a = new char *; int x; cin >> x; for (int i = 0; i < x; i++) { *(a+i) = new char; cin >>*(a+i); //a[i] = new char; //cin >> a[i]; } for (int i =...原创 2020-03-13 18:07:08 · 283 阅读 · 0 评论 -
C++-struct,union,enum,class大小的计算
struct1、普通情况下 等于最后一个数据大小+最后的偏移量。其中偏移量是结构体中当前数据内存地址到上一个数据内存地址的差,注意两点:(1)当前偏移量必须是当前数据大小的整数倍(2)最后结构是所以成员最小公倍数struct s{ int a;//本4 偏0 char b;//本1 偏4 double c;//本8 偏8(1+4+3) short d;//本2 偏16 floa...原创 2020-03-13 11:29:39 · 575 阅读 · 0 评论 -
C++-从存储地址的角度详解extern,static,auto,register
首先我们先来熟悉一下c++编译的四个步骤再来看看C++中的内存图数据的存储分为静态存储和动态存储,其中函数参数,局部变量都是动态存储,全局变量,静态变量是静态存储。下面我们来解析一下各种类型的变量在这里我们要注意不同的编译器gcc,msvc,mingw等对C++的执行标准大同小异,肯定存在不同的定义,其中Debug和Release输出的结果也不同,且输出的都是内存的虚拟地址。这里我们以...原创 2020-03-12 16:12:03 · 349 阅读 · 0 评论