他们的区别在于array和数组是存储在栈里面的,而vector是存储在堆里面的。
array和数组的区别在于,array可以直接复制给另一个array,而这在数组中是不被允许的,必须逐个复制。
另外,array提供了较为安全的访问方法,可以避免越界问题(array.at(),可以在运行期间捕获非法索引,但是会牺牲一部分性能)
性能从高到低分别是 数组 >= array > vector
#define和typedef
#define char* word
使用这种形式时,如果这样
word a,b;
转换则变为
char *a, b;
而typedef是正确的,所以使用typedef会更加安全,并且这种情况只能使用typedef。
网友评论