avatar
d*y
1
刚预约好,可有个小问题,如果谁有1分钟剩余的电话卡,可否给我一用,如果不可以
,就算了。如果谁正好有个1,2分钟剩的,用不上的,那就不甚感激了!谢谢!
avatar
b*a
2
吃了十多个包子,要报税吗?
avatar
A*a
3
此人太过goofy. 大多数表演段子都不喜欢。就Elf演得不错,还有模仿bush比较绝
avatar
w*g
4
前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
接地气的新特性。
auto sqr (int n) { // 自动返回类型
return n * n;
}
// 自动lamba类型。这个我早就很不爽了。
sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
// extended capturing
async(launch::async, [x = std::move(x)]() {
...
});
这个特性很重要。如果x是一个超大的对象,在主线程中没用,只需要在
lambda里面用,C++11下只能capture reference,而必须在主线程中保证
x的生存期。用C++14的capture,x的ownership就转移到lambda里面了。
avatar
b*2
5
还需要吗?我这里有一张大概剩1-2分钟

【在 d********y 的大作中提到】
: 刚预约好,可有个小问题,如果谁有1分钟剩余的电话卡,可否给我一用,如果不可以
: ,就算了。如果谁正好有个1,2分钟剩的,用不上的,那就不甚感激了!谢谢!

avatar
w*n
6
你吃了那么多?不怕撑死

【在 b*a 的大作中提到】
: 吃了十多个包子,要报税吗?
avatar
c*g
7
他在哈佛的毕业演讲相当不错,极端搞笑。看过他的一集搞笑连续剧,比较低级。

【在 A*****a 的大作中提到】
: 此人太过goofy. 大多数表演段子都不喜欢。就Elf演得不错,还有模仿bush比较绝
avatar
d*i
8
auto和lambda都非常不好
auto有违反C++作为静态语言的宗旨,多谢一个类型又如何,让读代码的人更容易理解
lambda完全不必要,写成单独的函数,或者用function pointer或者functor更清晰明
了易懂易维护,完全没有必要为了少些两行而搞得很丑

【在 w***g 的大作中提到】
: 前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
: 接地气的新特性。
: auto sqr (int n) { // 自动返回类型
: return n * n;
: }
: // 自动lamba类型。这个我早就很不爽了。
: sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
: // extended capturing
: async(launch::async, [x = std::move(x)]() {
: ...

avatar
w*i
9
90%所得税

【在 b*a 的大作中提到】
: 吃了十多个包子,要报税吗?
avatar
A*a
10
他是走低俗路线的,呵呵,看看他的SNL集锦就知道了

【在 c********g 的大作中提到】
: 他在哈佛的毕业演讲相当不错,极端搞笑。看过他的一集搞笑连续剧,比较低级。
avatar
d*i
11
珍惜生命,远离任何语言的所谓的“新特性”

【在 w***g 的大作中提到】
: 前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
: 接地气的新特性。
: auto sqr (int n) { // 自动返回类型
: return n * n;
: }
: // 自动lamba类型。这个我早就很不爽了。
: sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
: // extended capturing
: async(launch::async, [x = std::move(x)]() {
: ...

avatar
d*e
12
难道举报我的人是你?

【在 b*a 的大作中提到】
: 吃了十多个包子,要报税吗?
avatar
M*o
13
我喜欢的有几个:
avatar
s*u
14
你觉得像java的这种写法比auto更好?
theStupidDumbAssLongClassNameThatIHaveToWriteTwice c = new
theStupidDumbAssLongClassNameThatIHaveToWriteTwice();

【在 d****i 的大作中提到】
: auto和lambda都非常不好
: auto有违反C++作为静态语言的宗旨,多谢一个类型又如何,让读代码的人更容易理解
: lambda完全不必要,写成单独的函数,或者用function pointer或者functor更清晰明
: 了易懂易维护,完全没有必要为了少些两行而搞得很丑

avatar
d*e
15
谁让你们刷的慢

【在 w****n 的大作中提到】
: 你吃了那么多?不怕撑死
avatar
M*o
16
avatar
v*u
17
写的时候多花点力气, 看代码的时候省力。

你觉得像java的这种写法比auto更好?
theStupidDumbAssLongClassNameThatIHaveToWriteTwice c = new
theStupidDumbAssLongClassNameThatIHaveToWriteTwice();

【在 s******u 的大作中提到】
: 你觉得像java的这种写法比auto更好?
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice c = new
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice();

avatar
w*n
18
瓜瓜他滚得快呀

【在 d********e 的大作中提到】
: 谁让你们刷的慢
avatar
M*o
19
avatar
s*u
20
涉及到template的时候就不是多花点力气的问题了,搞不好要花上半个小时才能算出来
我这个变量的类型是什么,比方说boost spirit的中间变量类型如果完全展开来大概要
有上千个字符,这时候全部写出来哪里还有可读性。而且这种类型推导基本都是机械性
的,为什么不让compiler来帮你做这个事情?

【在 v*****u 的大作中提到】
: 写的时候多花点力气, 看代码的时候省力。
:
: 你觉得像java的这种写法比auto更好?
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice c = new
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice();

avatar
b*a
21
我是实名举报的

【在 d********e 的大作中提到】
: 难道举报我的人是你?
avatar
d*i
22
你这个本身就是命名的时候就没想好设计好,即便在java里面,也应该写成这样
SmartShortenedName ssn = new SmartShortenedName();

【在 s******u 的大作中提到】
: 你觉得像java的这种写法比auto更好?
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice c = new
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice();

avatar
w*n
23
阉了

【在 b*a 的大作中提到】
: 我是实名举报的
avatar
s*u
24
vs.
auto sso = new SmartShortenedName();
我觉得完全没有影响任何的可读性

【在 d****i 的大作中提到】
: 你这个本身就是命名的时候就没想好设计好,即便在java里面,也应该写成这样
: SmartShortenedName ssn = new SmartShortenedName();

avatar
d*e
25
大家快拿刀上,剁碎这个大西瓜!

【在 b*a 的大作中提到】
: 我是实名举报的
avatar
d*i
26
问题是几个函数分别take不同类型的参数,
void foo(SmartShortenedName ssn);
void foo2(AnotherClass ac);
void foo3(YetAnotherClass yac);
结果你全部给他传入auto类型。。。这不是混淆静态语言和动态语言的本质本征区别吗?
这个时候就看出写全的优势了。

【在 s******u 的大作中提到】
: vs.
: auto sso = new SmartShortenedName();
: 我觉得完全没有影响任何的可读性

avatar
w*n
27
一刀两版!

【在 d********e 的大作中提到】
: 大家快拿刀上,剁碎这个大西瓜!
avatar
s*u
28
auto不是一个类型,虽然我写了auto ssn = SmartShortendName(),这个ssn的实际的
类型就是SmartShortenedName,这个没有任何的歧义

吗?

【在 d****i 的大作中提到】
: 问题是几个函数分别take不同类型的参数,
: void foo(SmartShortenedName ssn);
: void foo2(AnotherClass ac);
: void foo3(YetAnotherClass yac);
: 结果你全部给他传入auto类型。。。这不是混淆静态语言和动态语言的本质本征区别吗?
: 这个时候就看出写全的优势了。

avatar
d*e
29
这就对了!看他再举报

【在 w****n 的大作中提到】
: 一刀两版!
avatar
l*s
30
类型错误一样是编译时而不是运行时,有啥混淆的。

吗?

【在 d****i 的大作中提到】
: 问题是几个函数分别take不同类型的参数,
: void foo(SmartShortenedName ssn);
: void foo2(AnotherClass ac);
: void foo3(YetAnotherClass yac);
: 结果你全部给他传入auto类型。。。这不是混淆静态语言和动态语言的本质本征区别吗?
: 这个时候就看出写全的优势了。

avatar
w*n
31
瓜瓜的丑恶面目,嗯

【在 d********e 的大作中提到】
: 这就对了!看他再举报
avatar
s*u
32
简单的说如果你定义两个变量
auto ssn = SmartShortenedName();
auto ac = AnotherClass();
foo(ac)编译器一样会给你报错的。估计你可能对auto的概念理解错了

吗?

【在 d****i 的大作中提到】
: 问题是几个函数分别take不同类型的参数,
: void foo(SmartShortenedName ssn);
: void foo2(AnotherClass ac);
: void foo3(YetAnotherClass yac);
: 结果你全部给他传入auto类型。。。这不是混淆静态语言和动态语言的本质本征区别吗?
: 这个时候就看出写全的优势了。

avatar
d*e
33
下面的主题就是批判他了

【在 w****n 的大作中提到】
: 瓜瓜的丑恶面目,嗯
avatar
d*i
34
compiler当然不会混淆,都是指的以后读代码的人,你这里东一个auto,那里西一个
auto,这个还能叫C++吗? 干脆叫python算了。

【在 l*********s 的大作中提到】
: 类型错误一样是编译时而不是运行时,有啥混淆的。
:
: 吗?

avatar
J*i
35
快缴税给我!

【在 b*a 的大作中提到】
: 吃了十多个包子,要报税吗?
avatar
d*i
36
这个auto的来历我不清楚,估计是受了微软的人在C++ committee里的影响,就是借鉴
了C#里面的var,自作聪明,实际祸害无穷。你看Unix编程文化就非常厌恶鄙视这些没
用的小trick和语法糖。

【在 d****i 的大作中提到】
: compiler当然不会混淆,都是指的以后读代码的人,你这里东一个auto,那里西一个
: auto,这个还能叫C++吗? 干脆叫python算了。

avatar
l*s
37
你自己写写就知道了,正常使用auto是提高可读性的。

【在 d****i 的大作中提到】
: compiler当然不会混淆,都是指的以后读代码的人,你这里东一个auto,那里西一个
: auto,这个还能叫C++吗? 干脆叫python算了。

avatar
w*g
38
你这个如果写lambda的话就是这样的
sort(v.begin(), v.end(),
[](theStupidDumbAssLongClassNameThatIHaveToWriteTwice const &a,
theStupidDumbAssLongClassNameThatIHaveToWriteTwice const &b) {
return a.key < b.key;
});
这就是auto的必要性。至于a和b的类型,就是数组v的成员的类型。
不会有任何混淆。
关键是写程序的时候auto和决定类型的那行代码间不能隔太远,
如果超过两三行,最好还是显式把类型写出来更容易理解。

【在 s******u 的大作中提到】
: 你觉得像java的这种写法比auto更好?
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice c = new
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice();

avatar
l*m
39
同意,尤其使用比较好的ide

【在 l*********s 的大作中提到】
: 你自己写写就知道了,正常使用auto是提高可读性的。
avatar
n*w
40
完全同意。jetbrain 的产品(c#)都提示换。

【在 l*******m 的大作中提到】
: 同意,尤其使用比较好的ide
avatar
T*e
41
抛快砖头哦。 我感觉auto还是慎用。
auto my_object =new MyClass(); //good to read
auto abc(int n) { //bad
// god knows what happens here
// ...
return whaterever;
}
auto lmn (double x){ //bad
//god knows what happens here
//...
auto whatever2 = abc(n);
//....
return whatever2;
}
// .......
auto xyz(const string& s){ //bad
//god knows what happens here
//...
auto do_you_know_me = lmn(x);
//....
return do_you_know_me;
}
avatar
g*e
42
狗屎特性
avatar
d*i
43
静态语言C++和Java这样的就是应该严格禁用auto,var这类的东西,否则乱七八糟成什
么样,人不像人,鬼不像鬼,C++的auto估计都是因为微软的C#的var闹得,同样C++和
Java也不应去学微软C#去加什么lambda,除了变丑变得不好理解维护以外毫无用处。一
句话,都是微软那帮人嗷嗷着带坏的。
同样动态语言,也不应去东施效颦搞什么类型,比如python3竟然想着增加类型,这个
同样是个傻逼做法,动态语言就应该严格保持动态语言的特点和灵活优势。
avatar
d*i
44
没错,这种所谓的语言的“新特性”所带来的最大的问题就是极其容易被初学者滥用
abuse。

【在 T*******e 的大作中提到】
: 抛快砖头哦。 我感觉auto还是慎用。
: auto my_object =new MyClass(); //good to read
: auto abc(int n) { //bad
: // god knows what happens here
: // ...
: return whaterever;
: }
: auto lmn (double x){ //bad
: //god knows what happens here
: //...

avatar
f*t
45
最简单的缺点:
auto x = foo()
auto y = bar()
本来要定义x和y的类型,读代码的时候一目了然,有了auto以后得分别看foo()和bar()
都返回些啥,要在代码中跳转,没有趁手IDE的时候尤其浪费时间。
avatar
L*8
46
不能接受新鲜事物 是衰老的表现

【在 d****i 的大作中提到】
: 静态语言C++和Java这样的就是应该严格禁用auto,var这类的东西,否则乱七八糟成什
: 么样,人不像人,鬼不像鬼,C++的auto估计都是因为微软的C#的var闹得,同样C++和
: Java也不应去学微软C#去加什么lambda,除了变丑变得不好理解维护以外毫无用处。一
: 句话,都是微软那帮人嗷嗷着带坏的。
: 同样动态语言,也不应去东施效颦搞什么类型,比如python3竟然想着增加类型,这个
: 同样是个傻逼做法,动态语言就应该严格保持动态语言的特点和灵活优势。

avatar
T*e
47
没有选择和鉴别的接受一切新事物也是不对的。

【在 L****8 的大作中提到】
: 不能接受新鲜事物 是衰老的表现
avatar
d*i
48
这个不是什么新鲜事物,要看到任何所谓“新东西”的背后的利益和阴谋,保持雪亮的
眼睛。

【在 L****8 的大作中提到】
: 不能接受新鲜事物 是衰老的表现
avatar
h*e
49
Scott Meyers都觉得C++已经失控了,决定退出。

【在 w***g 的大作中提到】
: 前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
: 接地气的新特性。
: auto sqr (int n) { // 自动返回类型
: return n * n;
: }
: // 自动lamba类型。这个我早就很不爽了。
: sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
: // extended capturing
: async(launch::async, [x = std::move(x)]() {
: ...

avatar
w*x
50
c++的每个新特性都同时带来更多的麻烦和问题。
现在搞的这么复杂,真做些大的复杂产品,还真敢用c++?这么多潜在的bug可能,真出
了问题,到时候哭都来不及。
话说有时候我连gcc的O2都不太敢用。。。
avatar
b*s
51
新特性其实很好用,没见到太多的副作用

【在 w***x 的大作中提到】
: c++的每个新特性都同时带来更多的麻烦和问题。
: 现在搞的这么复杂,真做些大的复杂产品,还真敢用c++?这么多潜在的bug可能,真出
: 了问题,到时候哭都来不及。
: 话说有时候我连gcc的O2都不太敢用。。。

avatar
d*i
52
这些复杂易错的所谓的“新特性“估计都是因为微软派系的人混在C++标准委员会里面
而搞出来的,微软派系和文化的人喜欢把东西搞乱搞复杂,喜欢玩花玩新语言新特性。
你看Unix都几十年了都没有什么变化杠杠的,真正的搞Unix下的系统编程的人大部分时
间只需要C就够了,到了上层一点的地方用最原始最简单的good old的C++就够了,根本
用不着那些新特性。看看Unix系统编程的圣经APUE这本书,清一色的C代码。

【在 w***x 的大作中提到】
: c++的每个新特性都同时带来更多的麻烦和问题。
: 现在搞的这么复杂,真做些大的复杂产品,还真敢用c++?这么多潜在的bug可能,真出
: 了问题,到时候哭都来不及。
: 话说有时候我连gcc的O2都不太敢用。。。

avatar
d*i
53
vi还是vi, Makefile还是Makefile, cc还是cc, 这就是Unix永久的魅力。

【在 d****i 的大作中提到】
: 这些复杂易错的所谓的“新特性“估计都是因为微软派系的人混在C++标准委员会里面
: 而搞出来的,微软派系和文化的人喜欢把东西搞乱搞复杂,喜欢玩花玩新语言新特性。
: 你看Unix都几十年了都没有什么变化杠杠的,真正的搞Unix下的系统编程的人大部分时
: 间只需要C就够了,到了上层一点的地方用最原始最简单的good old的C++就够了,根本
: 用不着那些新特性。看看Unix系统编程的圣经APUE这本书,清一色的C代码。

avatar
q*c
54
你没有想过读的人?
读的人脑子就得被你当个记事本用, 你右面稍微复杂一点,还得被迫当个 parser.
喜欢这些炫玩意的就是一个词:自我中心。

【在 s******u 的大作中提到】
: 你觉得像java的这种写法比auto更好?
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice c = new
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice();

avatar
e*g
55
不能同意你更多!

【在 d****i 的大作中提到】
: auto和lambda都非常不好
: auto有违反C++作为静态语言的宗旨,多谢一个类型又如何,让读代码的人更容易理解
: lambda完全不必要,写成单独的函数,或者用function pointer或者functor更清晰明
: 了易懂易维护,完全没有必要为了少些两行而搞得很丑

avatar
q*c
56
问题是人靠不住。
所以对于能被容易 abuse 的特效,如果没有影响不大的话,就要制止。
写程序已经太灵活了,需要的是可靠性,不是灵活性。

【在 w***g 的大作中提到】
: 你这个如果写lambda的话就是这样的
: sort(v.begin(), v.end(),
: [](theStupidDumbAssLongClassNameThatIHaveToWriteTwice const &a,
: theStupidDumbAssLongClassNameThatIHaveToWriteTwice const &b) {
: return a.key < b.key;
: });
: 这就是auto的必要性。至于a和b的类型,就是数组v的成员的类型。
: 不会有任何混淆。
: 关键是写程序的时候auto和决定类型的那行代码间不能隔太远,
: 如果超过两三行,最好还是显式把类型写出来更容易理解。

avatar
n*l
57
远离lamda, auto能少用就少用,可读性差。
在写template code时容易养成坏毛病。

【在 w***g 的大作中提到】
: 前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
: 接地气的新特性。
: auto sqr (int n) { // 自动返回类型
: return n * n;
: }
: // 自动lamba类型。这个我早就很不爽了。
: sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
: // extended capturing
: async(launch::async, [x = std::move(x)]() {
: ...

avatar
n*l
58
use the latest and greatest? what if there are some subtle compiler errors?
how to debug that in template programmed stl or boost type of shit?
it is just bad software engineering. I have no faith in what those guys are
building. what snake oil are they trying to sell? if you wanna speed with
confidence, just use plain c. enough said.

【在 w***g 的大作中提到】
: 前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
: 接地气的新特性。
: auto sqr (int n) { // 自动返回类型
: return n * n;
: }
: // 自动lamba类型。这个我早就很不爽了。
: sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
: // extended capturing
: async(launch::async, [x = std::move(x)]() {
: ...

avatar
s*u
59
看样子C++阵营内部也要分化了
真没想到居然有这么多人发自内心的害怕而且拒绝新事物,并且找各种理由来辩解,连
微软硬毛论都出来了。要真守旧就干脆一点学Linus,完全不接受C++就是了
另外一点,我发现真正的C++程序员这个板上很少,绝大多数都是拿着C++写C程序的
avatar
q*c
60
当年共产主义要取代资本主义也是新事物来着。
你可以去和亿万惨死的冤魂讨论一下害怕新事物。
语言真是有趣,加个 新, 人们好像突然就觉得好了。

【在 s******u 的大作中提到】
: 看样子C++阵营内部也要分化了
: 真没想到居然有这么多人发自内心的害怕而且拒绝新事物,并且找各种理由来辩解,连
: 微软硬毛论都出来了。要真守旧就干脆一点学Linus,完全不接受C++就是了
: 另外一点,我发现真正的C++程序员这个板上很少,绝大多数都是拿着C++写C程序的

avatar
b*s
61
静态是什么?是编译期决定,和坚持聱牙诘曲的写法有什么关系呢
我觉得有了类似auto这样的语法糖可读性和效率都提高了

【在 d****i 的大作中提到】
: 静态语言C++和Java这样的就是应该严格禁用auto,var这类的东西,否则乱七八糟成什
: 么样,人不像人,鬼不像鬼,C++的auto估计都是因为微软的C#的var闹得,同样C++和
: Java也不应去学微软C#去加什么lambda,除了变丑变得不好理解维护以外毫无用处。一
: 句话,都是微软那帮人嗷嗷着带坏的。
: 同样动态语言,也不应去东施效颦搞什么类型,比如python3竟然想着增加类型,这个
: 同样是个傻逼做法,动态语言就应该严格保持动态语言的特点和灵活优势。

avatar
L*8
62
有了auto 才提高了可读性
尤其是写算法的时候

【在 b*******s 的大作中提到】
: 静态是什么?是编译期决定,和坚持聱牙诘曲的写法有什么关系呢
: 我觉得有了类似auto这样的语法糖可读性和效率都提高了

avatar
g*s
63
支持你。auto利大于弊。
一般为易读,只在type明显或太长的情况下用auto,比如make_unique, make_shared。
另外多余的信息太多肯定会影响可读性。

【在 s******u 的大作中提到】
: 看样子C++阵营内部也要分化了
: 真没想到居然有这么多人发自内心的害怕而且拒绝新事物,并且找各种理由来辩解,连
: 微软硬毛论都出来了。要真守旧就干脆一点学Linus,完全不接受C++就是了
: 另外一点,我发现真正的C++程序员这个板上很少,绝大多数都是拿着C++写C程序的

avatar
E*1
64
不用新特性就是了,我觉得已有的东西足够了,甚至C大部分时候就足够了,c++11和14
整的那些破烂没什么意思

【在 w***x 的大作中提到】
: c++的每个新特性都同时带来更多的麻烦和问题。
: 现在搞的这么复杂,真做些大的复杂产品,还真敢用c++?这么多潜在的bug可能,真出
: 了问题,到时候哭都来不及。
: 话说有时候我连gcc的O2都不太敢用。。。

avatar
x*u
65
是的,WinRT编程的async模板已经非常疯狂了,我曾经花了一整天算一个展开。。。

【在 s******u 的大作中提到】
: 涉及到template的时候就不是多花点力气的问题了,搞不好要花上半个小时才能算出来
: 我这个变量的类型是什么,比方说boost spirit的中间变量类型如果完全展开来大概要
: 有上千个字符,这时候全部写出来哪里还有可读性。而且这种类型推导基本都是机械性
: 的,为什么不让compiler来帮你做这个事情?

avatar
F*0
66
不如直接C#
years to go, C#还会先做示范

【在 w***g 的大作中提到】
: 前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
: 接地气的新特性。
: auto sqr (int n) { // 自动返回类型
: return n * n;
: }
: // 自动lamba类型。这个我早就很不爽了。
: sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
: // extended capturing
: async(launch::async, [x = std::move(x)]() {
: ...

avatar
j*v
67
像lambda这种boost早就有了。
加这些到语言里而不是通过library也是Stroustrup一直反对的

【在 h****e 的大作中提到】
: Scott Meyers都觉得C++已经失控了,决定退出。
avatar
n*n
68
真的假的。

【在 h****e 的大作中提到】
: Scott Meyers都觉得C++已经失控了,决定退出。
avatar
T*i
69
Tiobe上C和C++加起来还是超过第一的Java。而且C是第二,C++第三。
基本所有前几名都是C类的。
我们敢用就是要假设有人维护有人不断完善。现在看来根本不用担心C或者C++ 会死。
相反貌似这两年活的越来越好。
至于auto和lambda。我觉得都挺好。尤其是auto,解决了大问题。
但是,这两个功能我从来不用。还要等两年看看。现在刚开始用std:move。

【在 n******n 的大作中提到】
: 真的假的。
avatar
d*i
70
tiobe自从有以来前三名就是C, C++, Java这三个C族语言轮流坐庄,后面跟的前十语言
也都是C族,C#, PHP, Python, Perl, Objective-C, JavaScript。。。这充分说明了C
语言作为现在所有主流语言的鼻祖和共同祖先的地位。

【在 T********i 的大作中提到】
: Tiobe上C和C++加起来还是超过第一的Java。而且C是第二,C++第三。
: 基本所有前几名都是C类的。
: 我们敢用就是要假设有人维护有人不断完善。现在看来根本不用担心C或者C++ 会死。
: 相反貌似这两年活的越来越好。
: 至于auto和lambda。我觉得都挺好。尤其是auto,解决了大问题。
: 但是,这两个功能我从来不用。还要等两年看看。现在刚开始用std:move。

avatar
T*i
71
C和C++的灵活性够好了。functional paradigm也能搞一些。

了C

【在 d****i 的大作中提到】
: tiobe自从有以来前三名就是C, C++, Java这三个C族语言轮流坐庄,后面跟的前十语言
: 也都是C族,C#, PHP, Python, Perl, Objective-C, JavaScript。。。这充分说明了C
: 语言作为现在所有主流语言的鼻祖和共同祖先的地位。

avatar
t*n
72
本版C++的主要问题,就是面试的太在意这些边角料。实际工作中,带类的C已经够用了
。写个新轮子的机会及其少。上个C++11都是要开会讨论的。
avatar
t*n
73
C++无论在速度/IDE/Debugger/类库等方面都没有可以代替的。不喜欢C的,C++是最合
适。而且C++也在不断进化中。

了C

【在 d****i 的大作中提到】
: tiobe自从有以来前三名就是C, C++, Java这三个C族语言轮流坐庄,后面跟的前十语言
: 也都是C族,C#, PHP, Python, Perl, Objective-C, JavaScript。。。这充分说明了C
: 语言作为现在所有主流语言的鼻祖和共同祖先的地位。

avatar
h*i
74
auto实际上是类型占位符,不是你理解的动态语言的东西。前面有人说了,编译器一样
会自动推导,报错。

【在 d****i 的大作中提到】
: 静态语言C++和Java这样的就是应该严格禁用auto,var这类的东西,否则乱七八糟成什
: 么样,人不像人,鬼不像鬼,C++的auto估计都是因为微软的C#的var闹得,同样C++和
: Java也不应去学微软C#去加什么lambda,除了变丑变得不好理解维护以外毫无用处。一
: 句话,都是微软那帮人嗷嗷着带坏的。
: 同样动态语言,也不应去东施效颦搞什么类型,比如python3竟然想着增加类型,这个
: 同样是个傻逼做法,动态语言就应该严格保持动态语言的特点和灵活优势。

avatar
d*i
75
"实际工作中,带类的C已经够用了"
-- 不能同意更多
avatar
b*s
76
就算真的也没啥,我们公司以前请他讲过课,不过尔尔,他的特点在于普及

【在 n******n 的大作中提到】
: 真的假的。
avatar
s*u
77
他就是一专业C++讲课员。另外也压根没提什么是因为C++失控了所以才退出了,他自己
的说法是现在因为stackoverflow之类的流行,这个C++专业讲课员的职业慢慢变得不吃
香了,加上研究了二十多年的C++,实在也有点无聊了,所以想做点别的东西,就这样

【在 b*******s 的大作中提到】
: 就算真的也没啥,我们公司以前请他讲过课,不过尔尔,他的特点在于普及
avatar
S*s
78
这些新特性对开发类库很有用。对一些generic的算法也很有用。
不以为然的可能是因为平常没有遇到那些困扰所以体会不深。不用就是了。
avatar
b*s
79
小菊同学,回军版去

【在 x****u 的大作中提到】
: 是的,WinRT编程的async模板已经非常疯狂了,我曾经花了一整天算一个展开。。。
avatar
t*m
80
如果你用其他c++11特征比如lambda,auto不是可选项,是必须项。
lambda的型别不能被手工推导。
例子:
auto hello = [](){printf("Hello World!\n";}
avatar
t*m
81
不过话说回来,超越STL的C++模板化应用的确过于深奥了,陷入太深的确对生命有害。
avatar
D*a
82
是std::function

【在 t****m 的大作中提到】
: 如果你用其他c++11特征比如lambda,auto不是可选项,是必须项。
: lambda的型别不能被手工推导。
: 例子:
: auto hello = [](){printf("Hello World!\n";}

avatar
D*a
83
总得有container吧,然后就得有template吧

【在 d****i 的大作中提到】
: "实际工作中,带类的C已经够用了"
: -- 不能同意更多

avatar
h*6
84
是大部分lambda可以转成std::function而已。也有部分uncopyable的lambda不能转成
std::function。

【在 D*******a 的大作中提到】
: 是std::function
avatar
t*m
85

错,你用typeid看看就知道了。
http://stackoverflow.com/questions/7951377/what-is-the-type-of-
The type of a lambda expression is unspecified.
It is a unique unnamed structure that overloads the function call operator.
Every instance of a lambda introduces a new type.
std::function是call operator的wrapper,支持函数指针,functor、lambda之类的玩
意。并不是一种型别。

【在 D*******a 的大作中提到】
: 是std::function
avatar
r*g
86
lambda是纯粹语法糖吗?比起单独外面起个名字定义个函数,除了少敲些字,还有什么
深刻的地方?

【在 t****m 的大作中提到】
:
: 错,你用typeid看看就知道了。
: http://stackoverflow.com/questions/7951377/what-is-the-type-of-
: The type of a lambda expression is unspecified.
: It is a unique unnamed structure that overloads the function call operator.
: Every instance of a lambda introduces a new type.
: std::function是call operator的wrapper,支持函数指针,functor、lambda之类的玩
: 意。并不是一种型别。

avatar
s*u
87
lambda本质上是anonymous function,也是nested function(函数内部定义函数)的
一种形式。C++引进lambda也就意味着必须要支持nested function,同时也要引入
closures,first-class function这些重要的概念。
当然最终结果是给本来就很灵活的C++多提供了一种paradigm, 至于是不是真的需要,
那就是见仁见智的事情了,没看前面吵的这么凶啊,呵呵

【在 r*g 的大作中提到】
: lambda是纯粹语法糖吗?比起单独外面起个名字定义个函数,除了少敲些字,还有什么
: 深刻的地方?

avatar
t*m
88

说的好。
要用过其他函数型语言,或者用javascript写过严肃程序的人就不会这样问了。lambda
可不仅仅是少敲入几个函数名称。

【在 s******u 的大作中提到】
: lambda本质上是anonymous function,也是nested function(函数内部定义函数)的
: 一种形式。C++引进lambda也就意味着必须要支持nested function,同时也要引入
: closures,first-class function这些重要的概念。
: 当然最终结果是给本来就很灵活的C++多提供了一种paradigm, 至于是不是真的需要,
: 那就是见仁见智的事情了,没看前面吵的这么凶啊,呵呵

avatar
s*o
89
wdong对golang是什么看法?
avatar
A*e
91
返回类型是?

【在 s******u 的大作中提到】
: vs.
: auto sso = new SmartShortenedName();
: 我觉得完全没有影响任何的可读性

avatar
s*o
93
啥问题?我看了wdong这篇文章正想花时间好好看一下go呢。老魏对go是啥看法?

【在 T********i 的大作中提到】
: 你这篇貌似写的有点问题。
avatar
f*z
94
解决了大问题,您为啥从来不用?

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