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

盘县网站开发wordpress 分类图片尺寸

盘县网站开发,wordpress 分类图片尺寸,东莞浩智建设网站哪家比较好,网站下载服务器配置该提案为auto又增加了两个新语法:auto(x) 和auto{x}。两个作用一样,只是写法不同,都 是为x 创建一份拷贝。 为什么需要这么个东西?看一个例子: void bar(const auto&);void foo(const auto& param) {auto co…

       该提案为auto又增加了两个新语法:auto(x) 和auto{x}。两个作用一样,只是写法不同,都
是为x 创建一份拷贝。
为什么需要这么个东西?看一个例子:

void bar(const auto&);void foo(const auto& param) 
{auto copy = param;bar(copy);
}

     foo() 中调用bar(),希望传递一份param 的拷贝,则我们需要单独多声明一个临时变量。

     或是这样:

void foo(const auto& param)
{bar(std::decay_t<decltype(param)>{param});
}

 这种方式需要手动去除多余的修饰,只留下T,要更加麻烦。
auto(x) 就是内建的decay copy,现在可以直接这样写:

void foo(const auto& param) 
{bar(auto{param});
}

 大家可能还没意识到其必要性,来看提案当中更加复杂一点的例子。

void pop_front_alike(auto& container) 
{std::erase(container, container.front());
}int main() 
{std::vector fruits{ "apple", "apple", "cherry", "grape", "apple", "papaya", "plum", "papaya", "cherry", "apple"};pop_front_alike(fruits);fmt::print("{}\n", fruits);
}

 // Output:
// ["cherry", "grape", "apple", "papaya", "plum", "papaya", "apple"]

请注意该程序的输出,是否如你所想的一样。若没有发现问题,请容许我再提醒一下:pop_front_alike()
要移除容器中所有跟第1 个元素相同的元素。
因此,理想的结果应该为:
["cherry", "grape", "papaya", "plum", "papaya", "cherry"]
是哪里出了问题呢?让我们来看看gcc std::erase() 的实现:

template<typename _ForwardIterator, typename _Predicate>
_ForwardIterator
__remove_if(_ForwardIterator __first, _ForwardIterator __last,
_Predicate __pred)
{__first = std::__find_if(__first, __last, __pred);if (__first == __last)return __first;_ForwardIterator __result = __first;++__first;for (; __first != __last; ++__first)if (!__pred(__first)) {*__result = _GLIBCXX_MOVE(*__first);++__result;}return __result;
}template<typename _Tp, typename _Alloc, typename _Up>
inline typename vector<_Tp, _Alloc>::size_type
erase(vector<_Tp, _Alloc>& __cont, const _Up& __value)
{const auto __osz = __cont.size();__cont.erase(std::remove(__cont.begin(), __cont.end(), __value),__cont.end());return __osz - __cont.size();
}

 std::remove() 最终调用的是remove_if(),因此关键就在这个算法里面。这个算法每次会比较当前
元素和欲移除元素,若不相等,则用当前元素覆盖当前__result 迭代器的值,然后__result 向后移一位。重复这个操作,最后全部有效元素就都跑到__result 迭代器的前面去了。
      问题出在哪里呢?欲移除元素始终指向首个元素,而它会随着元素覆盖操作被改变,因为它的
类型为const T&。此时,必须重新copy 一份值,才能得到正确的结果。

故将代码小作更改,就能得到正确的结果。

void pop_front_alike(auto& container) 
{auto copy = container.front();std::erase(container, copy);
}

然而这种方式是非常反直觉的,一般来说这两种写法的效果应该是等价的。我们将copy 定义
为一个单独的函数,表达效果则要好一点。

auto copy(const auto& value) 
{return value;
}void pop_front_alike(auto& container) 
{std::erase(container, copy(container.front()));
}

而auto{x} 和auto(x),就相当于这个copy() 函数,只不过它是内建到语言里面的而已。


文章转载自:

http://fOxsifN1.fmznd.cn
http://XKVjWARW.fmznd.cn
http://v5I1xSvN.fmznd.cn
http://XjjqZAkf.fmznd.cn
http://gqqgktGF.fmznd.cn
http://xrZwDcsu.fmznd.cn
http://PwvWT4Io.fmznd.cn
http://GmgWAs4E.fmznd.cn
http://8AWdN7O3.fmznd.cn
http://X7Pe4wjh.fmznd.cn
http://fUTamwtJ.fmznd.cn
http://kyj0ddCM.fmznd.cn
http://5jEzH4ul.fmznd.cn
http://w1x3l9QB.fmznd.cn
http://caUyQFYq.fmznd.cn
http://qCtrDQw6.fmznd.cn
http://gjyi9TRr.fmznd.cn
http://12GId2eL.fmznd.cn
http://ikzy7qHW.fmznd.cn
http://ZAJD0Qio.fmznd.cn
http://VrDvEzjL.fmznd.cn
http://yGxhNsRR.fmznd.cn
http://2JkuFxUj.fmznd.cn
http://2axrQm1n.fmznd.cn
http://Mqje79YA.fmznd.cn
http://KNcVs0aP.fmznd.cn
http://hC3Nigi2.fmznd.cn
http://Xyt2vFhV.fmznd.cn
http://t4rXRLXo.fmznd.cn
http://tF5Qrmac.fmznd.cn
http://www.dtcms.com/wzjs/735227.html

相关文章:

  • 校园网站html模板聊天网站备案
  • 手机网站一键开发我想做代理商
  • 云谷系统网站开发一个完整的企业网站怎么做
  • 枣庄市住房和建设局网站教修图的网站
  • 猪八戒托管赏金做网站购物平台app
  • 垂直行业门户网站建设方案赣州人才网最新招聘信息2023年
  • 青岛网站运营推广绵阳网站建设软件有哪些
  • 烈士陵园网站建设方案百度文库可直接进入正能量网站
  • 网站制作要多少钱网站建设地址北京昌平
  • 大气医院网站模板爱站seo排名可以做哪些网站
  • 宁波网站建站模板做网站 使用权 所有权
  • php app网站建设美乐乐网站源码
  • 网站建设毕业设计的分类号重庆在线教育平台
  • 吉安知名网站建设如何备份wordpress站点
  • 温州网站关键词推广wordpress影视主题下载
  • 网站分析流程系统平台
  • 制作网站代码网络信息化建设方案
  • p2p网站建设 深圳北京市住房与建设厅官方网站
  • 广州设计网站建设html5 经典网站
  • 做网站公司哪家公司好做文学网站算不算开公司
  • 网站建设费开票税收代码城乡建设吧部网站
  • 仿漫画网站建设定制小说网站系统源码建设赤峰市宁城县住房和建设局网站
  • 赣州北京网站建设做响应式网站的价格
  • 制作网站学什么西安做营销型网站建设
  • 制作网站规划书wordpress考试系统插件
  • 成都高校网站建设服务公司自己做的网站被黑了怎么办
  • 网站怎么做快照手上有一个好网站怎么做赚钱
  • 上海万网网站建设用手机怎么做免费网站
  • 衡水龙腾网站建设网站备案 企业备案
  • 代做cad平面图的网站小企业官网