zoukankan      html  css  js  c++  java
  • 学习问题

    引用与指针

    1.    引用数组: Int a[10]={0}; int (&cp)[10]=a;//此句代表cp是数组a的别名,是同一块内存空间(a当右值运算时,可以是数组首元素的地址,在引用时,代表整个数组空间)//Int&cp[10]  , 无二级引用

    2.    返回临时变量(内置类型)存在内部寄存器中(EAX),自定义类型存在内存中。

    3.     临时变量不可进行自增;除非为返回引用。

    4.     返回的引用要求: 变量为全局变量; 变量为静态变量; 该变量是以引用进,以引用出;

    5.    自定义函数分配在同一块栈帧空间;

    6. 引用返回的是变量的地址,存在内部寄存器中,然后通过地址找到该变量的位置;

    7.   Int&a=======int * const a;

    8 .引用二维数组和一维数组

    void fun1(int br[10])//error C2664: 'fun1' : cannot convert parameter 1 from 'int [5][10]' to 'int []' {  cout<<sizeof(br)<<endl; }

    void fun2(int **br)// error C2664: 'fun2' : cannot convert parameter 1 from 'int [5][10]' to 'int ** '  {  cout<<sizeof(br)<<endl; }

    void fun3(int (*br)[10]) {  cout<<sizeof(br)<<endl; } void fun4(int br[][10])//退化为数组指针等同于int (*br)[10] {  cout<<sizeof(br)<<endl; } void fun5(int (&br)[5][10])//必须明确引用对象的大小 {  cout<<sizeof(br)<<endl; } void fun6(double&br)//引用变量 {  cout<<sizeof(br)<<endl; } void fun7(int (&br])//引用一维数组 {  cout<<sizeof(br)<<endl; }

    9.  内置类型: const int a=10; const int &b=a;(编译器处理成Int temp =a; const int &b=temp)  ,相反,自定义类型 const test t(10); const test &y=t(y是t的别名,中间没有创建临时对象,test &u=t(错误)

    10. const & a=12.23(无类型的引用默认为整型int)

    11. 拷贝构造函数的参数必须为对象的引用(即 point(const point &p) )  若把一个真实的对象作为参数传递引起无穷递归。

    12. 类的普通成员不可初始化,静态成员在类外必须初始化,因为它不属于某个对象。

    13.  函数编译,先创建全局变量及对象,在创建主函数对象。

    14.  namespace   XXXX{}自定义命名空间,默认为std空间。访某个空间,或者某个对象加作用域分辨符::  访问全局变量(::max)

    15.   struct StrNode
    {
     int ref;
     int len;
     char data[];//柔性数组 
    };   sizeof(StrNode)=sizeof(int)+sizeof(int)

  • 相关阅读:
    Flask、Vue部署总结
    Recat教程(二)
    C第一个程序
    React教程(一)
    Flask+uwsgi+nginx 部署
    使用Dockerfile部署简单的应用
    Typescript搭建开发环境
    Typescript模块化/命名空间/装饰器
    Typescript的泛型/泛型接口
    修改git密码后,终端fatal: Authentication failed for'http://xxx/xxx.git'
  • 原文地址:https://www.cnblogs.com/lirong21/p/3908549.html
Copyright © 2011-2022 走看看