gpt4 book ai didi

c++ - 在 C++ 中为 parcelable 选择数据

转载 作者:太空狗 更新时间:2023-10-29 21:47:39 24 4
gpt4 key购买 nike

在我之前用 C 编写的程序中,我需要一个包含多个“核心”数据的对象,我的程序中的所有函数都可以访问这些数据,我最终选择了一个结构我已经使用指向该结构的指针来读取或写入数据;它速度快,适合工作,而且成本低廉,因为访问指针可能是您可以在 C 中做的最便宜的事情之一,而且我从来没有找到更好的东西,所以我对这个解决方案很满意。

现在在 C++ 中我遇到了同样的问题,我需要共享一个由一些原始类型组成的状态,我很想使用所谓的 POD 之一,它基本上意味着 struct,再次,但这次是出于安全考虑。

假设我需要在我的程序中携带这个“Blob”数据,通过引用访问的结构是 C++ 中最快的东西吗? getter 方法的成本是多少?

最佳答案

如果您的 getter 代码是内联的(在头文件中),那么编译器可以消除在它输出的机器代码中调用函数的需要。

例如:

class Data
{
private:
int number_;
public:
int GetNumber() { return number_; }
};

编译器将看到 GetNumber 的定义,知道它的作用很简单,并且知道您在何处调用了 GetNumber(),它会简单地将其替换为 number_。因此,使用 getter 与直接访问成员将产生等效的代码,并且两者执行相同的操作。

关于c++ - 在 C++ 中为 parcelable 选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12759653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com