c/c++ 什么时候支持用变量定义数组大小的

如题所述

不大可能吧!加入这东西对C++的底层实现和类型系统影响都很大,而且实现这个东西开销不小!


看看下面的代码:

#include <iostream>

template <std::size_t N>
void Func(  int ( & array )[N] ) {
}

int main() {
    int a = 0;
    std::cin >> a;
    int array[a]; // array的类型是什么?  int[a] ?
    Func( array ); // 模板Func如何实例化?
    
    std::cout << sizeof( array ) << std::endl; // sizeof现在不能在编译时求值!ar                                               // ray的长度编译时无法确定!!
    return 0;
}

C++里面想用动态的数组,完全可以使用std::vector。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答