C++ 数组初始化注意事项
源码
int main() {
int cards[4] = {1,2,3,4};
int hands[4];
hands = cards; // 报错,表达式必须是可修改的左值
cards++; // 报错,表达式必须是可修改的左值
cards = cards +1; // 报错,表达式必须是可修改的左值
int *p = cards; // 退化为指针
std::cout << sizeof(cards) << std::endl;
}
- 数组名作为赋值语句左侧时,只是一个地址常量,不会退化为指向首元素的指针,所以无法被修改。
- 作为
sizeof的操作数时,也不会退化
本文来自博客园,作者:只A有缘人,转载请注明原文链接:https://www.cnblogs.com/cq429958/p/19332035
浙公网安备 33010602011771号