当前位置: 首页 > news >正文

网站发帖做业务什么平台推广效果最好

网站发帖做业务,什么平台推广效果最好,seo网站推广排名,挂机宝做php网站吗C那些事之结构化绑定 在聊结构化绑定之前,有几个面试问题,看看你会不会? 如何使用结构化绑定访问自定义类的私有成员?如何使用结构化绑定修改自定义类的成员呢? 这几个题目估计没几个人能答上来,题目与答案…

C++那些事之结构化绑定

在聊结构化绑定之前,有几个面试问题,看看你会不会?

  • 如何使用结构化绑定访问自定义类的私有成员?

  • 如何使用结构化绑定修改自定义类的成员呢?

这几个题目估计没几个人能答上来,题目与答案网上也都没有,基于这些问题,我们引出本文的内容:如何为自定义类型支持结构化绑定,里面有哪些坑?

注:懒人版,答案与代码已放星球。

为了让本文的内容更加丝滑,从示例出发。

1.自定义类型

如果给定一个类:

struct Foo {Foo(int64_t id, std::string data) : id_(id), data_(std::move(data)) {}void Print() { std::cout << "id = " << id_ << ", data = " << data_ << std::endl; }private:int64_t id_;std::string data_;
};

要让下面这个代码运行起来:

int main() {Foo f{12, "hello world"};const auto& [id, data] = f;std::cout << "id = " << id << ", data = " << data << std::endl;f.Print();
}

如果直接运行会编译:

cannot decompose inaccessible member 'Foo::id_' of 'const Foo'42 |   const auto& [id, data] = f;

那么怎么做呢?

2.支持结构化绑定

这个问题我们使用两个步骤:

1.特化 std::tuple_sizestd::tuple_element

namespace std {template <>struct tuple_size<Foo> : std::integral_constant<std::size_t, 2> {};template <>struct tuple_element<0, Foo> {using type = int64_t;};template <>struct tuple_element<1, Foo> {using type = std::string;};
}

2.为上面的结构体添加友元get函数,然后实现即可:

template <std::size_t Index>
decltype(auto) get(const Foo& f);template <>
decltype(auto) get<0>(const Foo& f) {return f.id_;
}template <>
decltype(auto) get<1>(const Foo& f) {return f.data_;
}

此时便可以正常的工作了,得到输出:

id = 12, data = hello world
id = 12, data = hello world

最后,抛出几个问题:

  • 上面提供的是只读访问,如果在访问的时候修改const auto &会发生什么?

例如:

auto& [id, data] = f;
  • 如何支持对类成员的修改访问?

即,让这个语句能够正常运行

auto& [id, data] = f;

好了,本节完,欢迎留言区交流。

揭秘答案,戳下方呀~

b19e823f519d9e2e214a5e882ebe3ddc.jpeg

往期推荐:

向量数据库milvus源码剖析之开篇

热度更新,手把手实现工业级线程池

玩转cpp小项目星球3周年了!

57d2ef3609413b1caeffc528841ba663.jpeg

http://www.rdtb.cn/news/13705.html

相关文章:

  • 标志设计名词解释官网整站优化
  • 建设网站业务不好做东莞做网站最好的是哪家
  • wordpress中下载按钮seo排名培训公司
  • 网络服务合同模板seo网站介绍
  • 教学网站前台模板重庆网站seo诊断
  • 网站全站建设开题报告范文河南网站seo费用
  • 企业网站 phpcms上海搜索排名优化
  • 做网站多网页模板免费html
  • 湘潭网站制作网站生成app工具
  • 商务网站建设策划书html简单网页代码
  • 阳高县网站建设百度下载免费安装最新版
  • 北京网站建设icp有限公司如何推广app更高效
  • 网站防火墙怎么做培训心得体会范文500字
  • oss做静态网站网络推广有前途吗
  • 临沂哪家做网站最好行者seo
  • 有一个外国网站专门做街头搭讪鹤壁网站seo
  • 微信网站多少钱百度指数怎么刷指数方法
  • 做个小网站 虚拟空间 买服务器武汉seo服务
  • 网络设计规划师云seo
  • 网站导航栏注明做怎么做线上销售
  • 个人网站可以收费吗厦门seo排名扣费
  • ps广告设计步骤太原seo代理商
  • 淮北网站制作搜索引擎优化案例分析
  • 做试管网站阿里云云服务平台
  • 衡水网站建设培训学校百度推广登陆
  • html5手机网站开发框架营销咨询师
  • 网站与app的区别淘宝交易指数换算工具
  • 网络公司制作网站百度网盘网页版登录入口官网
  • 福建省建设厅考试网站泉州百度关键词排名
  • 衡水移动端网站建设常用的网络营销策略有哪些