x-Aaron 发表于 2020-5-26 10:51:55

C Primer Plus 中的代码


这段应该是有问题的把。。。?

x-Aaron 发表于 2020-5-26 10:54:25

怎么能直接使用没初始化的指针?

永恒的蓝色梦想 发表于 2020-5-26 11:00:52

看起来好像确实有问题……?

上善若水··· 发表于 2020-5-26 15:38:31

其实没什么问题, free_throws *pt ; 与 free_throwsa ; 其实没什么区别,a = ft 有什么问题?
free_throws *pt = null ; 表示 pt = null , 但*pt是有地址的。

人造人 发表于 2020-5-26 22:41:34

对,这个代码确实有问题,看下面的描述,作者指的代码应该是这样的




人造人 发表于 2020-5-26 22:43:10

上善若水··· 发表于 2020-5-26 15:38
其实没什么问题, free_throws *pt ; 与 free_throwsa ; 其实没什么区别,a = ft 有什么问题?
free_th ...

你确定这个代码没问题?上面图片上的警告怎么解释?

永恒的蓝色梦想 发表于 2020-5-27 08:54:43

人造人 发表于 2020-5-26 22:41
对,这个代码确实有问题,看下面的描述,作者指的代码应该是这样的

这背景{:10_258:}{:10_256:}

永恒的蓝色梦想 发表于 2020-5-27 08:56:06

上善若水··· 发表于 2020-5-26 15:38
其实没什么问题, free_throws *pt ; 与 free_throwsa ; 其实没什么区别,a = ft 有什么问题?
free_th ...

没区别(指根本没有内存)

x-Aaron 发表于 2020-5-27 09:14:28

人造人 发表于 2020-5-26 22:41
对,这个代码确实有问题,看下面的描述,作者指的代码应该是这样的

free_throws & jolly = clone(three);

这段是不是应该加上const{:10_257:}

上善若水··· 发表于 2020-5-27 09:57:56

人造人 发表于 2020-5-26 22:43
你确定这个代码没问题?上面图片上的警告怎么解释?

        free_throws *pt;
        *pt = ft;
0080472Fcmp         byte ptr ,0
00804736jne         clone+45h (0804745h)
00804738push      80477Eh
0080473Dcall      __RTC_UninitUse (08010C8h)
00804742add         esp,4
00804745mov         eax,dword ptr
00804748push      eax
00804749mov         ecx,dword ptr ; pt = 0xcccccccc
0080474Ccall      free_throws::operator= (0801005h)
恩,是的。我理解错了,以为结构体与int一样。

人造人 发表于 2020-5-27 23:25:12

永恒的蓝色梦想 发表于 2020-5-27 08:54
这背景

^_^

人造人 发表于 2020-5-27 23:31:50

x-Aaron 发表于 2020-5-27 09:14
这段是不是应该加上const



人造人 发表于 2020-5-27 23:38:32


c++对象创建带括号与无括号的区别
https://www.cnblogs.com/laogaoyang/p/5757453.html

405794672 发表于 2020-5-29 11:44:52

C Primer Plus是什么?赶紧百度一下。
页: [1]
查看完整版本: C Primer Plus 中的代码