![]() |
1
3
如果你不想用矢量,试试这个…
您不必显式包含数组的大小,如果尝试传递元素数量错误的数组,将生成编译错误, |
![]() |
2
19
不,这不安全。这是标准定义的未定义行为。它可能会炸毁整个应用程序或返回一个随机值。解决方法是将大小与它一起传递,或使用
|
![]() |
3
13
不,这不安全。您正在读取尚未分配的内存,这是未定义的行为。根据月球的相位,你可能会或可能不会得到一个分割错误。 要“解决”它,请确保传入的数组始终具有正确的大小。在您的示例中,您可以执行以下操作:
初始值设定项不需要指定所创建数组的所有元素,因此只需显式初始化前三个值即可。其余值将设置为零。 |
![]() |
4
4
不,这不安全。也许您希望将坐标作为参数传递给构造函数并使用两个重载:
这样你就可以同时使用
|
![]() |
5
2
在C++中,与C一样,函数参数数组也会变为指针。现在,根据函数的语义,您可以使用其他方法:
第一个接近我的方法是最干净的。 |
![]() |
6
1
不。这可能会导致一个SegFault。 比利3 |
![]() |
7
1
显示的行为未定义,可能会在路上撞车。 我建议使用vector-along,并使用vector::at()调用访问元素。如果超出了分配的界限,将引发异常。确保在矢量中保留足够的空间 |
![]() |
8
0
就像你在问在湖上建房子是否安全。总有一天你会在水里醒来。 在这种情况下,您可能会发现悬空指针会导致系统不稳定和频繁崩溃。 如果你知道什么是悬空的指针,那么现在的风险是什么。 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 7 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 8 月前 |
![]() |
tTt · 使用堆栈中的值重新分配指针 8 月前 |
![]() |
manuel · 现代C中空指针的替代方案++ 9 月前 |