c++ - 如果我在一个方法中使用 lambda-expr,那么我想调用另一个方法,那么我应该通过值还是通过引用来捕获 `this`?
问题描述
出于教育原因,我决定实现一个模拟std::string
.
我有一个名为的方法
append
,我以这种方式实现了它:template<class T, class U> inline String& String::append(T b, U e) { std::for_each(b, e, [this](char c) {push_back(c); }); // [&] or this? return *this; }
所以我需要访问this
lambda-expr 中的指针,所以我应该this
按值还是按引用捕获?** 如果按价值计算,那么它也可以正常工作。
解决方案
推荐阅读
- python - 无法使用 Yahoo Fantasy Sports API 找到统计数据
- c - 如何在c中打开具有用户定义名称的文件
- shell - 我可以在同一行打印数组索引和值吗?
- visual-studio-code - Visual Studio Code 不会注释掉空行
- cmake - 将 target_link_libraries 用于不以 lib* 开头的库
- ios - 如何在 ios 中制作类似 ig 故事加载样式的动画?
- http - 使用标头过滤代理的响应标头
- ios - ld: 找不到框架 FBAudienceNetwork
- python - Python 只获取每个字典中的值
- python - 在大熊猫数据框的文本列上创建 TfidfVectorizer