gpt4 book ai didi

c++ - 如何在 C++ 中展开一个短循环

转载 作者:IT老高 更新时间:2023-10-28 22:31:26 26 4
gpt4 key购买 nike

我想知道如何获得这样的东西:

  1. copy(a, b, 2, 3)
  2. 然后得到

    a[2] = b[2];
    a[3] = b[3];
    a[4] = b[4];

我知道 C#defines 不能递归地使用来获得这种效果。但我使用的是 C++,所以我认为模板元编程可能是合适的。

我知道有一个 Boost库,但我只想要那个“简单”的技巧,而 Boost 太“杂乱”了。

最佳答案

对此最直接的解决方案是编写一个已知开始和结束值的循环:

for(int i = 2; i <= 4; i++) {
a[i]=b[i];
}

我认为这比任何类型的模板/运行时调用混合都要好:编写的循环对于编译器的优化器来说是完全清楚的,并且没有任何级别的函数调用可以挖掘,只是为了看看发生了什么。

关于c++ - 如何在 C++ 中展开一个短循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382137/

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