标题:[求助]2重指针的问题-->myajax95转移-->baidu转移
只看楼主
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 11:42
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 11:44
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 
以下是引用穆扬在2006-7-24 11:22:13的发言:

那么你的意思是说
在c++中,不同类型的指针之间的赋值是非法的?
比如
int *pi;
double *pd;
……
pd=pi;?非法

确实是非法操作.莫非C语言中可以这样??

还有,那个(5)是在分配的内存中的值, 这样*p就可以获得内存地址中的值,你应该知道p是地址,*p是值

[此贴子已经被作者于2006-7-24 11:48:56编辑过]


c++/C + 汇编 = 天下无敌
2006-07-24 11:45
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 11:50
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 
我再举例,让穆兄更加明白

例如 int *p = new int(0);

new引发重载运算符号 operator new;
以下是代码;
void * operator new(size_t size, int type) type//相当于 0, 因为是传参过去
{
void *p = malloc(size) //size是编译器计算;

memset (p, type, size);

return p;
}

这样 当你 pritf("%d", *p)就会打印出 0;

c++/C + 汇编 = 天下无敌
2006-07-24 11:52
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

如果你在C++中做如果蠢事 double *pdouble, int *pint; pint = pdouble; 编译器会抱怨

d:\程序\c++程序\c++example\main.cpp(9): error C2440: “=” : 无法从“double *”转换为“int *”

我觉得C++这样使指针更加安全


c++/C + 汇编 = 天下无敌
2006-07-24 11:55
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 12:04
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 
以下是引用穆扬在2006-7-24 11:44:21的发言:

你的那个例子中有 自定义 类型?
在下愚昧
请明确指出来

穆兄 在C++中;
#include<iostream>
using namespace std;


int main()
{
int value = int();
cout << value;
}

这条程序是正确的, 输出 0

int();相当于调用"构造函数" 来初始化value,


c++/C + 汇编 = 天下无敌
2006-07-24 12:04
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 

C++的内置类型。
我不知道怎么称呼他初始化是否被称为调用“构造函数”
所以我说这相当于自己定义的类型的构造函数。

意思都是对其对象初始化。赋予其指定的属性。


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-24 12:04
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-24 12:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-79710-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.387046 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved