作者readonly (唯读)
看板Programming
标题Re: [请益] 指标的问题
时间Fri Dec 7 05:16:11 2007
※ 引述《StubbornLin (Victor)》之铭言:
: 不会
: 它只会去找出那个位置的那块记忆体
: 把东西放进去
: 讲难听一点XD
: 如果个指标的位置不是你配置的记忆体
: 是乱七八糟的数字,这就有点像强暴一样
: 你硬是把资料塞到指向的那块空间
: 而指标没有初始化,或是指标是乱七八糟的数字
: 程式通常会当掉
: 因为你违规存取记忆体
: 你想放东西进去,那个指标指向的位置必须是有效的
: 它只会乖乖的照做,放东西进去
: 不会帮你allocate一块记忆体出来给你
: 至於需不需要free or delete,就要看那个指标是不是malloc或是new出来的
: 是的话才需要,如果只是指向区域变数的指标就不用
有点好奇要怎确定指标的位置是有效的?
void f( object * p )
{
object o;
* p = o;
}
object * p = new object; //alloc memory
f( p ); // 让 f 盖过去
※
不过如果是只能看到function prototype,例如用别人的library,
void f( object * p );
object * p;
f( p );
一般人应该会这样写,这不就危险了?
※
只是有点好奇,这样的写法要用在什麽情况?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.64.118.175