1 char* vector_advance(char* val)
大部分人都遇到过上面的函数,最大的问题就是资源由谁释放?
再看一个函数
1 char (&vector_advance(char (&var)[4]))[4]
这个函数的意思是,vector_advance是函数名,接收一个包含4个元素的数组,返回一个包含4个元素的数组,这个写法确实有点怪异,
换个易懂的写法
1 typedef mychar char[4]; 2 mychar& vector_advance(mychar& var);
勉强也能接受,如果使用boost库的Array库,就会方便很多
1 #include <boost\array.hpp> 2 typedef boost::<array<char, 4> array4_t; 3 array4_t& vector_advance(array4_t& var);
从函数返回数组
时间: 2024-11-05 22:41:29