Redian新闻
>
[新手]一直都把C++当Java写,有啥严重不妥?
avatar
[新手]一直都把C++当Java写,有啥严重不妥?# Programming - 葵花宝典
q*5
1
妈妈的签证有效期到2014年4月,她想在2014年3月入关,请问到时海关是否会拒绝给半
年的居留期?另外如果打算2014年的夏天去加拿大,墨西哥旅行,回美国是否有问题?
多谢
avatar
t*s
2
太明显了.
avatar
A*e
3
【 以下文字转载自 Love 讨论区 】
发信人: HappyHope (笑红), 信区: Love
标 题: 爱情在哪儿?称两斤给我做做下酒菜。
发信站: BBS 未名空间站 (Fri Dec 10 20:05:56 2010, 美东)
白菜,白饭,白斩鸡。就是少了个给我倒酒的。
avatar
C*b
4
先学了java,再学C++,一直都把C++当成java写:
1. Pointer尽量用smart pointer
2. 新建object尽量都用指针,基本都是pass by pointer
3. 函数基本都是virtual
4. template,STL都基本用java的generics style,template parameter都是super
class的指针
c++那些funky的operator,friend class啥的基本不用。
这些习惯好不好?
avatar
f*n
5
每次入关给多久都是官员的决定。一般如果没有什么问题都会给半年的。
avatar
A*e
6
白菜有人喊.....

【在 A*********e 的大作中提到】
: 【 以下文字转载自 Love 讨论区 】
: 发信人: HappyHope (笑红), 信区: Love
: 标 题: 爱情在哪儿?称两斤给我做做下酒菜。
: 发信站: BBS 未名空间站 (Fri Dec 10 20:05:56 2010, 美东)
: 白菜,白饭,白斩鸡。就是少了个给我倒酒的。

avatar
b*h
7
你实验好了来告诉我们
avatar
q*5
8
多谢楼上的回答。不知第二个问题是否有人知道?谢谢
avatar
a*7
9
这东西现在卖几块钱一斤了?

【在 A*********e 的大作中提到】
: 白菜有人喊.....
avatar
C*b
10
我好像一直就这么写的,写了一两年,暂时没有严重问题,只是来特地请教各位大牛门


【在 b**********h 的大作中提到】
: 你实验好了来告诉我们
avatar
A*e
12
早就了

【在 a*********7 的大作中提到】
: 这东西现在卖几块钱一斤了?
avatar
d*i
13
没有问题,实际上把C++当C来写,或者把C++当Java来写都是没问题的,只要注意到一
些细微的差别尤其是performance上面的就可以了,比如你都用virtual函数就要看是否
一定需要在子类中override。提倡简单就是美的原则是对的。

【在 C******b 的大作中提到】
: 先学了java,再学C++,一直都把C++当成java写:
: 1. Pointer尽量用smart pointer
: 2. 新建object尽量都用指针,基本都是pass by pointer
: 3. 函数基本都是virtual
: 4. template,STL都基本用java的generics style,template parameter都是super
: class的指针
: c++那些funky的operator,friend class啥的基本不用。
: 这些习惯好不好?

avatar
a*7
14
啥?

【在 A*********e 的大作中提到】
: 早就了
avatar
t*r
15
沒有問題。是一個很好的practice.
avatar
A*e
16
忘了,好困

【在 a*********7 的大作中提到】
: 啥?
avatar
d*r
17
主要问题是: 想象比较理想...
实际干活 C++ 麻烦多多, 要求的经验要过硬

【在 C******b 的大作中提到】
: 先学了java,再学C++,一直都把C++当成java写:
: 1. Pointer尽量用smart pointer
: 2. 新建object尽量都用指针,基本都是pass by pointer
: 3. 函数基本都是virtual
: 4. template,STL都基本用java的generics style,template parameter都是super
: class的指针
: c++那些funky的operator,friend class啥的基本不用。
: 这些习惯好不好?

avatar
a*7
18
哈哈,那还不赶紧眠去
太尉赶紧的~

【在 A*********e 的大作中提到】
: 忘了,好困
avatar
A*e
19

+1
-1
1/2不矛盾吗?还是说你满屏都是unique_ptr?
-1
没看明白。
哪些funky?

【在 C******b 的大作中提到】
: 先学了java,再学C++,一直都把C++当成java写:
: 1. Pointer尽量用smart pointer
: 2. 新建object尽量都用指针,基本都是pass by pointer
: 3. 函数基本都是virtual
: 4. template,STL都基本用java的generics style,template parameter都是super
: class的指针
: c++那些funky的operator,friend class啥的基本不用。
: 这些习惯好不好?

avatar
f*n
20
鹅鹅鹅,他怎么到处挖坑阿

【在 A*********e 的大作中提到】
: 忘了,好困
avatar
B*r
21
挺好,design 远比implementation重要
avatar
s*u
22

没问题
这个是很不好的习惯。为什么要用指针?C++非常重要的一点是尽量少用指针,能放在
stack的为什么要放在heap?能直接access的变量为什么非要用指针来做一个indirect
access?能用scope来实现变量的lifetime management为什么非要用指针的new/delete
来手动manage?
对于用smart pointer来替代bare pointer只是解决了上面说的第三个问题,但是如果
你在设计的时候清楚每一个变量的ownership和liftime,可以说99%的情况下你不需要
用指针,当然也不需要用smart pointer了
继承是仅次于freind的最强关联了,实际的设计中其实很少要用到继承这么强的关联,
考虑多使用has-a的关系替代is-a的关系。如果不需要继承,放着virtual是没有意义的
不懂
operator有好有坏。friend上面说了,是最强的关联,不常用是正常的

【在 C******b 的大作中提到】
: 先学了java,再学C++,一直都把C++当成java写:
: 1. Pointer尽量用smart pointer
: 2. 新建object尽量都用指针,基本都是pass by pointer
: 3. 函数基本都是virtual
: 4. template,STL都基本用java的generics style,template parameter都是super
: class的指针
: c++那些funky的operator,friend class啥的基本不用。
: 这些习惯好不好?

avatar
w*g
23
写得很明白,不错。

indirect
delete

【在 s******u 的大作中提到】
:
: 没问题
: 这个是很不好的习惯。为什么要用指针?C++非常重要的一点是尽量少用指针,能放在
: stack的为什么要放在heap?能直接access的变量为什么非要用指针来做一个indirect
: access?能用scope来实现变量的lifetime management为什么非要用指针的new/delete
: 来手动manage?
: 对于用smart pointer来替代bare pointer只是解决了上面说的第三个问题,但是如果
: 你在设计的时候清楚每一个变量的ownership和liftime,可以说99%的情况下你不需要
: 用指针,当然也不需要用smart pointer了
: 继承是仅次于freind的最强关联了,实际的设计中其实很少要用到继承这么强的关联,

avatar
g*e
24
效率不行 跟扎瓦一样慢

【在 C******b 的大作中提到】
: 先学了java,再学C++,一直都把C++当成java写:
: 1. Pointer尽量用smart pointer
: 2. 新建object尽量都用指针,基本都是pass by pointer
: 3. 函数基本都是virtual
: 4. template,STL都基本用java的generics style,template parameter都是super
: class的指针
: c++那些funky的operator,friend class啥的基本不用。
: 这些习惯好不好?

avatar
N*K
25
template parameter都是super class的指针
ParentClass a;
ChildClass b;
这个意思?

【在 C******b 的大作中提到】
: 先学了java,再学C++,一直都把C++当成java写:
: 1. Pointer尽量用smart pointer
: 2. 新建object尽量都用指针,基本都是pass by pointer
: 3. 函数基本都是virtual
: 4. template,STL都基本用java的generics style,template parameter都是super
: class的指针
: c++那些funky的operator,friend class啥的基本不用。
: 这些习惯好不好?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。