由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - c++ 里面 this pointer 是完全 un necessary 的吗? (转载)
相关主题
问几个面试题说一下pressure interview。。。
unique binary tree 2 (leetcode)今早Bloomberg电话面试经过,奉献给大家。。。
C++ Q93 - Q95MathWorks被拒
谁对design pattern比较熟?关于Bloomberg Phone Interview
一个简单的java题明天ONSITE攒人品,发面试知识点总结!!
问一个smart pointer的问题bloomberg就85k?
C++的一个bug,求解怎么才能掌握好C++里面的指针和引用?
My Microsoft Phone InterviewC++ 面试题目分享(1)
相关话题的讨论汇总
话题: c++话题: pointer话题: template话题: un话题: java
进入JobHunting版参与讨论
1 (共1页)
r****t
发帖数: 10904
1
【 以下文字转载自 Programming 讨论区 】
发信人: repast (xebec), 信区: Programming
标 题: c++ 里面 this pointer 是完全 un necessary 的吗?
发信站: BBS 未名空间站 (Fri Dec 30 13:20:47 2011, 美东)
以前一直不自觉的用,如果所有 unqualified-id 都默认是通过 this pointer, 是不
是 this pointer 是完全不必要的?
d********t
发帖数: 9628
2
很多时候要cast this到别的type,还有要传递this的地址,template里面很多时候也
必须指明用this

【在 r****t 的大作中提到】
: 【 以下文字转载自 Programming 讨论区 】
: 发信人: repast (xebec), 信区: Programming
: 标 题: c++ 里面 this pointer 是完全 un necessary 的吗?
: 发信站: BBS 未名空间站 (Fri Dec 30 13:20:47 2011, 美东)
: 以前一直不自觉的用,如果所有 unqualified-id 都默认是通过 this pointer, 是不
: 是 this pointer 是完全不必要的?

r****t
发帖数: 10904
3
template 里面怎么用给个例子吧?

【在 d********t 的大作中提到】
: 很多时候要cast this到别的type,还有要传递this的地址,template里面很多时候也
: 必须指明用this

d********t
发帖数: 9628
4
忘记了,记得当时看thinking in c++ vol2的时候见过,太难了,搞不定。
不过this用得最普遍的就是operator=里面那个return *this;

【在 r****t 的大作中提到】
: template 里面怎么用给个例子吧?
r****t
发帖数: 10904
5
对的,这个是一个必须用的地方。thinking in c++ vol2 如何?我看了 primer 觉得
挺后悔的。

【在 d********t 的大作中提到】
: 忘记了,记得当时看thinking in c++ vol2的时候见过,太难了,搞不定。
: 不过this用得最普遍的就是operator=里面那个return *this;

d********t
发帖数: 9628
6
primer好东西啊,我看过不下5遍,85%的情况下绝对够用了,当然不只指面试。
vol2烂就一个字

【在 r****t 的大作中提到】
: 对的,这个是一个必须用的地方。thinking in c++ vol2 如何?我看了 primer 觉得
: 挺后悔的。

r****t
发帖数: 10904
7
我倒是发现一个不是必要,但是方便的地方,不知道和你说的 template 是不是一个意
思. 说起来有点绕,单起一行:
是在 derived class template 里面需要 call an inherited method (not
overwritten) from the base class template, 但是这个 method signature 不依赖
于任何 template argument 的时候,如果直接
method( args );
编译器会有问题,不过 -fpermissive 能过。
stackwithmin.cpp: In member function 'void StackWMin::pop()':
stackwithmin.cpp:29: error: there are no arguments to 'top' that depend on a
template parameter, so a declaration of 'top' must be available
stackwithmin.cpp:29: note: (if you use '-fpermissive', G++ will accept your
code, but allowing the use of an undeclared name is deprecated)
如果这里用
this->method( args );
的话就没有任何 complain 了。
不过我一般都是更老实的写了 base 部分比如
base_class::method( args );
这样也行,不知道效率上是不是有区别,没有用 this pointer 方便。

【在 d********t 的大作中提到】
: 忘记了,记得当时看thinking in c++ vol2的时候见过,太难了,搞不定。
: 不过this用得最普遍的就是operator=里面那个return *this;

r****t
发帖数: 10904
8
我满打满算差不多一遍了,太花时间。虽说还是学到了些新东西,但是感觉不够全面。觉得这书最好当工具书查,但是做工具书又不如 standard 和 stl 的文档,高不就低不成很尴尬。

【在 d********t 的大作中提到】
: primer好东西啊,我看过不下5遍,85%的情况下绝对够用了,当然不只指面试。
: vol2烂就一个字

d********t
发帖数: 9628
9
考,你真认真啊!居然给找出来了!有这股子劲,啥法轮功都随便去啊!

a

【在 r****t 的大作中提到】
: 我倒是发现一个不是必要,但是方便的地方,不知道和你说的 template 是不是一个意
: 思. 说起来有点绕,单起一行:
: 是在 derived class template 里面需要 call an inherited method (not
: overwritten) from the base class template, 但是这个 method signature 不依赖
: 于任何 template argument 的时候,如果直接
: method( args );
: 编译器会有问题,不过 -fpermissive 能过。
: stackwithmin.cpp: In member function 'void StackWMin::pop()':
: stackwithmin.cpp:29: error: there are no arguments to 'top' that depend on a
: template parameter, so a declaration of 'top' must be available

r****t
发帖数: 10904
10
真是这个?完全是凑巧,在写 cracking 的题的时候遇到的。去法轮功的话算法差太远了,还得练几个月再投。

【在 d********t 的大作中提到】
: 考,你真认真啊!居然给找出来了!有这股子劲,啥法轮功都随便去啊!
:
: a

相关主题
问一个smart pointer的问题说一下pressure interview。。。
C++的一个bug,求解今早Bloomberg电话面试经过,奉献给大家。。。
My Microsoft Phone InterviewMathWorks被拒
进入JobHunting版参与讨论
d********t
发帖数: 9628
11
啥是cracking啊?指点一下吧。

远了,还得练几个月才行。

【在 r****t 的大作中提到】
: 真是这个?完全是凑巧,在写 cracking 的题的时候遇到的。去法轮功的话算法差太远了,还得练几个月再投。
r****t
发帖数: 10904
12
cracking the coding interview. 你不是看过么?
拿 c++ 写一下就发现 c++ 面算法要难不少,java code 都不用管内存的。

【在 d********t 的大作中提到】
: 啥是cracking啊?指点一下吧。
:
: 远了,还得练几个月才行。

d********t
发帖数: 9628
13
我就看过CareerCup,是一个东西吗?

【在 r****t 的大作中提到】
: cracking the coding interview. 你不是看过么?
: 拿 c++ 写一下就发现 c++ 面算法要难不少,java code 都不用管内存的。

r****t
发帖数: 10904
14
就是一个东西

【在 d********t 的大作中提到】
: 我就看过CareerCup,是一个东西吗?
d********t
发帖数: 9628
15
你可以搞个C++版本的卖钱。

【在 r****t 的大作中提到】
: 就是一个东西
r****t
发帖数: 10904
16
正视现实吧,我觉得现在 java has won the industry, and is on its way to world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche

【在 d********t 的大作中提到】
: 你可以搞个C++版本的卖钱。
C***y
发帖数: 2546
17
只会c++,不会java咋办呢

world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche

【在 r****t 的大作中提到】
: 正视现实吧,我觉得现在 java has won the industry, and is on its way to world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche
B******5
发帖数: 4676
18
5遍啊,ORZ
话说Thinking in C++值得看么?真厚。。。

【在 d********t 的大作中提到】
: primer好东西啊,我看过不下5遍,85%的情况下绝对够用了,当然不只指面试。
: vol2烂就一个字

d********t
发帖数: 9628
19
c++效率比java高啊。

world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche

【在 r****t 的大作中提到】
: 正视现实吧,我觉得现在 java has won the industry, and is on its way to world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche
r****t
发帖数: 10904
20
不知啊,我也不会。。。

niche

【在 C***y 的大作中提到】
: 只会c++,不会java咋办呢
:
: world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche

S**I
发帖数: 15689
21
最好是新鲜码工们都去学Java,这样C++老码工们就不用担心饭碗了。:)

world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche

【在 r****t 的大作中提到】
: 正视现实吧,我觉得现在 java has won the industry, and is on its way to world dominance... c++ 越学越明白为啥它大部分地方比不过 java, 一直会是 niche
1 (共1页)
进入JobHunting版参与讨论
相关主题
C++ 面试题目分享(1)一个简单的java题
C++ object size一问问一个smart pointer的问题
C++ Q58: size of pointer (Bloomberg)C++的一个bug,求解
C++ Q59: pointer & c-string (Bloomberg)My Microsoft Phone Interview
问几个面试题说一下pressure interview。。。
unique binary tree 2 (leetcode)今早Bloomberg电话面试经过,奉献给大家。。。
C++ Q93 - Q95MathWorks被拒
谁对design pattern比较熟?关于Bloomberg Phone Interview
相关话题的讨论汇总
话题: c++话题: pointer话题: template话题: un话题: java