Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 一行输出(最多)4个矢量元素 #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main() { coutfor(int i=0;i_C++_Loops_Memory_Vector_Compiler Optimization - Fatal编程技术网

C++ 一行输出(最多)4个矢量元素 #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main() { coutfor(int i=0;i

C++ 一行输出(最多)4个矢量元素 #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main() { coutfor(int i=0;i,c++,loops,memory,vector,compiler-optimization,C++,Loops,Memory,Vector,Compiler Optimization,一种溶液可能是 for (int i = 0; i < size; i++) { cout << num[i]; if ((i % 4) == 3) cout << endl; else cout << " "; } if ((size % 4) != 0) cout << endl; for(int i=0;i

一种溶液可能是

for (int i = 0; i < size; i++)
{
    cout << num[i];
    if ((i % 4) == 3)
        cout << endl;
    else
        cout << " ";
}
if ((size % 4) != 0)
    cout << endl;
for(int i=0;istd::cout我的参赛作品是使用免费功能来帮助您:

for( int i = 0; i < size; ++i ) {
    int nextNumber = i + 1; // Just so you don't mix up the index
    if ( ( nextNumber % 4 ) == 0 ) {
        std::cout << num[ i ] << std::endl;
    }
    else {
        std::cout << num[ i ] << ' ';
    }
}
模板
跑四个或最后一个(跑开始,跑结束){
for(RAN_IT=begin;IT!=begin+4;IT++){
if(it==end)
返回端;
}
返回开始+4;
}
然后可以将循环描述为:

template <typename RAN_IT>
RAN_IT four_or_last(RAN_IT begin, RAN_IT end){
    for (RAN_IT it = begin; it != begin + 4; it++){
        if (it == end) 
            return end;
    }
    return begin + 4;
}
for(自动it=num.begin();it!=num.end();/*inc在内部循环中*/){
for(auto in=it;in!=four_或_last(it,num.end());in++){

std::不能在loop@DieterL谢谢,修复了。请在粘贴垃圾之前编译并测试
template <typename RAN_IT>
RAN_IT four_or_last(RAN_IT begin, RAN_IT end){
    for (RAN_IT it = begin; it != begin + 4; it++){
        if (it == end) 
            return end;
    }
    return begin + 4;
}
for (auto it = num.begin(); it != num.end(); /*inc in inner loop*/) {
    for (auto in = it; in != four_or_last(it, num.end()); in++) {
        std::cout << *in << " ";
    }
    it = four_or_last(it, num.end());
    std::cout << std::endl;
}