• c++基础


    引用和指针

    引用是就是对象本身。对应内存 就一个地址。
    指针对应内存是两个地址。
    对象本身一个地址, 指针一个地址。
    指针的地址里面存的内容就是 对象的地址。

    引用就是对象本身。
    指针是转了一层啊。
    指针的指针就是转了2层。
    指针的指针的指针 就是转了3层。。
    以此类推。

     引用就是直接取了一个别名,不需要重新开辟内存来存哪个东西的 内存。。 
     就相当于给对象取了个不同的名字 
     除了一些特殊的情况引用貌似是没有空间分配的
    声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。 
     
    形式上的区别:指针可以不初始化,引用必须初始化,且绑定后不能再变。
    如果你想一会儿指向这个对象一会指向那个对象就用指针,而引用只是变量的另一个名字。
     区别本身在于,你可以理解引用就是地址 
     指针是一个int32的变量  反正一切的差别就在于那4个byte的空间 引用没有4个byte的空间。
    变量的值等于地址 你指针一定义,就有空间了,指针本身是个变量,引用不是

    向函数中传递指针和传递指针的引用的区别:
         如果是传递指针,那么会先复制该指针,在函数内部使用的是复制后的指针,这个指针与原来的指针指向相同的地址,如果在函数内部将复制后的指针指向了另外的新的对象,那么不会影响原有的指针;
    但是对于传递指针引用,如果将传递进来的指针指向了新的对象,那么原始的指针也就指向了新的对象,这样就会造成内存泄漏,因为原来指针指向的地方已经不能再引用了,即使没有将传递进来的指针指向新的对象,而是在函数结束的时候释放了指针,那么在函数外部就不能再使用原有的指针了,因为原来的内存已经被释放了、
     
    1,引用就是一个常量指针
    2,引用是一个自动去引用的指针

    函数调用的时候 

    指针和引用都是传地址的值过去,引用传地址没有copy,而指针就是copy了下地址,传过去了。
    不同的是指针本身是个变量,引用是个常量
    CCSpriteFrame* CCSpriteFrame::create(const char* filename, const CCRect& rect)

    char * 和 char[]

    http://blog.csdn.net/tsengyuen/article/details/4818645

    c类型字符串和c++ std:string的互相转换

    char ch[100];
    string str;

    把char*(c类型的string)数组转换为string:

    str = ch; //即可
    str.assign(ch); //也可

    把string类型转换为char*数组:
    strcpy(ch,str.c_str());    //即可
    for(int i = 0; i < str.length(); i++)   //也可
    {
        ch = str.at(i);
        ch ++;
    }

    比较两个字符串相等
    string str1;
    string str2;

    strcmp(str1.c_str(),str2.c_str());
    < 0 string1 less than string2
    = 0 string1 identical to string2
    > 0 string1 greater than string2

    清空一个char*数组
    memset(void *dest,int c,size_t count)
    拷贝char*数组
    memcpy(void *dest,const void * src,size_t count)

    判断是否是一个字符串的子串

    strstr();

    str.find("")

    c++对象模型

    http://www.cnblogs.com/skynet/p/3343726.html

  • 相关阅读:
    1.Python基础语法
    Python学习4:商城购物
    Python学习3:猜年龄游戏进阶版
    Python学习2:猜年龄游戏
    python学习1:判断学生成绩等级
    K8S集群平滑回退或升级
    Xtrabackup工作原理
    Android App 侧边栏菜单的简单实现
    NoActionBar主题下如何添加OptionsMenu
    TabLayout+ViewPager制作简单导航栏
  • 原文地址:https://www.cnblogs.com/as3lib/p/3528569.html
Copyright © 2020-2023  润新知