c++中简单语法问题

volcan1987 2012-07-23 10:47:12
debugDraw->SetFlags(b2DebugDraw::e_shapeBit);

这里面的->可否用.来代替?其中的::是代表在b2DebugDraw这个类中的e_shapeBit吗?如果不加::会怎么样?编译可以过的,那如果有另一个地方定义了e_shapeBit编译会出错还是运行会出错?
...全文
169 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Flammable_ice 2012-07-23
  • 打赏
  • 举报
回复
楼主是不是想转型学C++啊?感觉楼主提的问题貌似跟没学过C++一样哦,所以顶楼上的,建议楼主先简单看看C++书籍,再去看代码
tixisong 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用楼主 的回复:
debugDraw->SetFlags(b2DebugDraw::e_shapeBit);

这里面的->可否用.来代替?其中的::是代表在b2DebugDraw这个类中的e_shapeBit吗?如果不加::会怎么样?编译可以过的,那如果有另一个地方定义了e_shapeBit编译会出错还是运行会出错?


1.
->左边必须是对象的指针
.左边必须是对象
……
[/Quote]

++
pathuang68 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
debugDraw->SetFlags(b2DebugDraw::e_shapeBit);

这里面的->可否用.来代替?其中的::是代表在b2DebugDraw这个类中的e_shapeBit吗?如果不加::会怎么样?编译可以过的,那如果有另一个地方定义了e_shapeBit编译会出错还是运行会出错?
[/Quote]

1.
->左边必须是对象的指针
.左边必须是对象

2. b2DebugDraw::e_shapeBit通常表示e_shapeBit是b2DebugDraw这个类中的一个静态成员变量,不加::肯定会出错的。
suifeng3702 2012-07-23
  • 打赏
  • 举报
回复
建议楼主先看看最基本的C++方面的书籍,只看前几章就好,然后再去看代码。[Quote=引用楼主 的回复:]
debugDraw->SetFlags(b2DebugDraw::e_shapeBit);

这里面的->可否用.来代替?其中的::是代表在b2DebugDraw这个类中的e_shapeBit吗?如果不加::会怎么样?编译可以过的,那如果有另一个地方定义了e_shapeBit编译会出错还是运行会出错?
[/Quote]
volcan1987 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

错了,C++ new出来的一定是指针。你以为是C#啊。
[/Quote]
那对象如何创建呢?
直接class c;?
ppsharp 2012-07-23
  • 打赏
  • 举报
回复
错了,C++ new出来的一定是指针。你以为是C#啊。
volcan1987 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

指针用->取成员,不能用.代替
[/Quote]
那如果是对象呢,就可以用点了?
class *c = new class()这是指针?
class c = new class()这就是对象了?
ppsharp 2012-07-23
  • 打赏
  • 举报
回复
指针用->取成员,不能用.代替

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧