title: c++动态申请二维数组？
desc: 我需要构建一个这样的二维数组，bool aij<br>而i，j的值只有到运行时候才知道。<br>如果根据cpp标准，数组的大小必须是常量表达式，那么只能动态申请二维数组。我最先想到的办法是：<br>bool b new bool i<br>forint a 0aia<br> ba new bool j<br>不过这个似乎有点麻烦，还需写一个循环，释放时候也比较麻烦。<br>后来上网查了，可以申请一个一维再强制转化为二维<br>bool c new bool ij<br>bool bj bool bj c<br>这个办法应该也是不符合c标准的，因为数组指针里数组的大小也应该是常量表达式（虽然在我的机子上可以运行，但如果不是为了符合标准，不用动态申请，如bool bij也是可以的，兼容了c99变长数组而已）。<br>别的，就是使用vectorltvectorltboolgtgt b也需要循环<br>是否有什么办法，可以符合标准，同时又很简洁地动态申请出二维数组呢？
topic: C++
content: template <typename T>class Array2D private T data stdsizet d1， d2public Array2Dstdsizet d1， stdsizet d2 datanew Td1 d2， d1d1， d2d2 Array2Dconst Array2D src datanew Tsrc.d1 src.d2， d1src.d1， d2src.d2 stdcopysrc.data， src.data d1 d2， data Array2D delete data Array2D operator const Array2D src delete T o
answerer_tags: 造轮子，正在填坑中