zoukankan      html  css  js  c++  java
  • 为什么string是引用类型 值还不可以修改

    C#把数据类型分为值类型和引用类型。值类型操作简单,引用类型更省空间。

    C#一共有15个预定义类型,其中13个值类型(8个整型、2个浮点类型、decimal、bool、char),2个引用类型(string、object)。

    仔细看,值类型都是空间使用较小的类型,引用类型都是空间使用较大的类型(如string、我们自己声明的类)。(这里先不考虑作为值类型的结构)

    string 因为空间使用大概率较大,所以被作为引用类型。但是如果和一般的引用类型的赋值操作一样,那么容易被在不需要改动的情况下修改。

    所以,微软给了折中的办法,每次值的变更,都会给出一个新的地址给变量。原来的地址还是原来的值,自己的修改不影响别人。

    这样,string既有引用类型的空间节省,又有值类型的便捷。

  • 相关阅读:
    io系列之常用流一
    C++ 函数参数的默认值
    C++ 函数匹配和作用域声明
    c++ vector 迭代器 demo
    C++ 函数重载和匹配
    C++函数重载和const
    C++函数重载
    iOS开源项目
    Linux系统/网络 笔记
    IO五种模式
  • 原文地址:https://www.cnblogs.com/wangliuwei/p/11129767.html
Copyright © 2011-2022 走看看