o****b 发帖数: 31 | 1 #include
int _tmain(int argc, _TCHAR* argv[])
{
char ca2[]={'c','+','+','\0'};
char* ip=ca2;
std::cout<
std::cout<
return 0;
}
我认为ip是一个char的指针,为什么我直接输出指针,出来的结果是c++. 我原想是会
出来这个指针的
物理地址。这到底是怎么回事呀?谢谢大家了。 | z****e 发帖数: 2024 | 2 试试这个。
#include
using namespace std;
int main(int argc, char* argv[])
{
char ca2[]={'c','+','+','\0'};
char* ip=ca2;
cout<
cout<
return 0;
}
我感觉是iostream里面对运算符<<的重载导致的。 | o****b 发帖数: 31 | | z****e 发帖数: 2024 | | j***i 发帖数: 1278 | 5 当成array了, 你ca2 ip 本质上都是array
c array 名都是指针
你相当于 复制了个array | o****b 发帖数: 31 | 6 我明白,我的困惑是为什么我要求输出指针的物理地址(std::cout<
却是整个
array. 谢谢了
【在 j***i 的大作中提到】 : 当成array了, 你ca2 ip 本质上都是array : c array 名都是指针 : 你相当于 复制了个array
| a****l 发帖数: 8211 | 7 因为你用的是c++,而且用到了运算符重载,所以你不知道你到底引用的是什么函数(不是
你不能知道).这就是为什么很多人不喜欢运算符重载的原因,写码的人少用几秒种敲几
个键,看码维护的人就要多用少则几分钟多则几小时甚至几天来发现哪里出错了.
【在 o****b 的大作中提到】 : 我明白,我的困惑是为什么我要求输出指针的物理地址(std::cout<: 却是整个 : array. 谢谢了
| o****b 发帖数: 31 | | g***j 发帖数: 1275 | 9 it will print the char until it meets a null charactor \0
【在 o****b 的大作中提到】 : 我明白,我的困惑是为什么我要求输出指针的物理地址(std::cout<: 却是整个 : array. 谢谢了
|
|