首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++引用计数(reference counting)技术简介(1)

    版本,该函数可能用来读取,也可能用来写一个字符,C++编译器无法告诉我们operator[]被调用时是用于写还是取,所以我们必须假设所有的non-const operator[]的调用都用于写。...//重载[]运算符,针对non-const Strings char& String::operator[](size_t index){ if (value->refCount>1){...这个不问题不限于指针,如果有人以引用的方式将String的non-const operator[]返回值存储起来,也会发生同样的问题。 解决这种问题主要有三种方法。 (1)忽略之。...一开始,我们先树立此标志为true,表示对象可被共享,但只要non-const operator[]作用于对象值时就将标志清楚。一旦标志被设为false,那么数据实体可能永远不会再被共享了。...对于Non-const operator[]是唯一将shareable设为false者,其实现代码可为: char& String::operator[](size_t index){ if

    2.1K40
    领券