e*e
2 楼
志愿者招募贴
Volunteers needed for EB5 Investment Conference 2014 (Sep 29 - Oct 2, 2014)
2014 EB5投资移民峰会招募志愿者!
Up to 5-Day Free Las Vegas stay for student volunteers!
Details: http://eb5home.org/student-registration
All registrations must be submitted before September 7, 2014
Student volunteers will enjoy the benefit of complimentary hotel
accommodations, welcome reception, penal discussions, general sessions,
breakfasts, luncheons, and closing dinner.
EB5 Investment Conference 2014 is the first and the most comprehensive EB5
conference that target specifically on Chinese Immigration Agents and
Chinese Investors, plus other industry professionals such as Regional Center
Developers, potential Regional Center Developers, Immigration Attorneys
between China and U.S., considering Chinese investors have contributed more
than 80% of the total EB5 Regional Center Projects in recent years with the
anticipation to continue at about this same rate in the foreseeing future.
2014 EB5投资移民峰会是第一个首次在美国开展的集聚中国和美国EB5行业精英代表的
会议。本次的大会为各方人士提供了宝贵的交流机会,包括独家设计的一对一商业面谈
,并致力于为行业代表们提供最新的业内讯息和促进双方的合作商机。
Now you can join this great Conference for a limited special student
discount of $350 (a $3,750 value) with hotel staying**, or you can even
participate this amazing event for FREE by volunteering for only three days
(Sep 29 through Oct 2)! Please contact us at [email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
with your
school email address, if you are interested in attending the Conference.
Student Volunteer benefits
• One complimentary pass for the Conference***
• One complimentary hotel room for staying****
• All the Conference’s dinning and social events
Volunteer qualifications
• Fluent in both English and Chinese
• Great hospitality attitude
• Professional on business occasions
参会地点
美国内华达州,拉斯维加斯,里维埃拉酒店
Riviera Hotel, Las Vegas, Nevada, USA
报名方式:
登陆 www.EB5Home.org,填写学生报名表
或者将你的简历发送到[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
,Subject中注明Student Volunteer
Registration
Weibo: 3E推广
WeChat: US3EPromotions
QQ: 3051438451
Volunteers needed for EB5 Investment Conference 2014 (Sep 29 - Oct 2, 2014)
2014 EB5投资移民峰会招募志愿者!
Up to 5-Day Free Las Vegas stay for student volunteers!
Details: http://eb5home.org/student-registration
All registrations must be submitted before September 7, 2014
Student volunteers will enjoy the benefit of complimentary hotel
accommodations, welcome reception, penal discussions, general sessions,
breakfasts, luncheons, and closing dinner.
EB5 Investment Conference 2014 is the first and the most comprehensive EB5
conference that target specifically on Chinese Immigration Agents and
Chinese Investors, plus other industry professionals such as Regional Center
Developers, potential Regional Center Developers, Immigration Attorneys
between China and U.S., considering Chinese investors have contributed more
than 80% of the total EB5 Regional Center Projects in recent years with the
anticipation to continue at about this same rate in the foreseeing future.
2014 EB5投资移民峰会是第一个首次在美国开展的集聚中国和美国EB5行业精英代表的
会议。本次的大会为各方人士提供了宝贵的交流机会,包括独家设计的一对一商业面谈
,并致力于为行业代表们提供最新的业内讯息和促进双方的合作商机。
Now you can join this great Conference for a limited special student
discount of $350 (a $3,750 value) with hotel staying**, or you can even
participate this amazing event for FREE by volunteering for only three days
(Sep 29 through Oct 2)! Please contact us at [email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
with your
school email address, if you are interested in attending the Conference.
Student Volunteer benefits
• One complimentary pass for the Conference***
• One complimentary hotel room for staying****
• All the Conference’s dinning and social events
Volunteer qualifications
• Fluent in both English and Chinese
• Great hospitality attitude
• Professional on business occasions
参会地点
美国内华达州,拉斯维加斯,里维埃拉酒店
Riviera Hotel, Las Vegas, Nevada, USA
报名方式:
登陆 www.EB5Home.org,填写学生报名表
或者将你的简历发送到[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
,Subject中注明Student Volunteer
Registration
Weibo: 3E推广
WeChat: US3EPromotions
QQ: 3051438451
F*g
3 楼
天高云淡,
湖水轻拍岸。
钓鱼男儿勤挥竿,
上钩鱼儿成串。
春风吹绿南山,
猿臂水边尽展。
烦恼烟消云散,
踌躇之意油然。
渔民争相打探,
游人交口称赞。
渔夫四周寻看,
为何不见苒苒?
湖水轻拍岸。
钓鱼男儿勤挥竿,
上钩鱼儿成串。
春风吹绿南山,
猿臂水边尽展。
烦恼烟消云散,
踌躇之意油然。
渔民争相打探,
游人交口称赞。
渔夫四周寻看,
为何不见苒苒?
r*r
4 楼
缺省启动, 是32位内核.
验证: About this mac -> more info -> software -> 64 bit kernel : no
要启动到 64位内核, 重启是按住 "6" 和 "4"键.
验证: About this mac -> more info -> software -> 64 bit kernel : no
要启动到 64位内核, 重启是按住 "6" 和 "4"键.
z*i
5 楼
呼唤alternans大侠重新上载一下fix的破解版
y*b
6 楼
http://blog.csdn.net/doctorsc/article/details/6777849
http://sd.csdn.net/a/20111114/307392.html
“C++11就像一门新的语言。” - Bjarne Stroustrup
好是好,够折腾的。
http://sd.csdn.net/a/20111114/307392.html
“C++11就像一门新的语言。” - Bjarne Stroustrup
好是好,够折腾的。
r*r
9 楼
SL 自带的软件都是 64位应用程序, 可以在 activity monitor 里看到:
Kind: Intel (64 bit)
第三方的软件则基本都是32位的. 有一些可能在64位内核上无法运行.
需要升级.
不得不说, 比起微软的32位/64位 vista 分开卖, 苹果的方法不仅厚道,
而且更顺畅.
Kind: Intel (64 bit)
第三方的软件则基本都是32位的. 有一些可能在64位内核上无法运行.
需要升级.
不得不说, 比起微软的32位/64位 vista 分开卖, 苹果的方法不仅厚道,
而且更顺畅.
n*t
11 楼
如果就打算推这个, C++肯定就挂了。
这么个四不像,怎么玩啊?
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
这么个四不像,怎么玩啊?
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
b*a
12 楼
How about TIPS (Inflation-Protection Bonds)?
F*g
13 楼
谢版大,我们小时候钓鱼的经历很相似呀!
http://www.mitbbs.com/article_t/Fishing/31474229.html
【在 G******U 的大作中提到】
: 图文并茂!
: 谢谢。
: 冉冉快来看。
: 大小伙子帅,了不起。现在就正儿八经的钓鱼。我小时候
: 用缝衣针弯鱼钩,用树枝钓鱼。那还得偷跑出去才行。
: 可是就是小的时候的钓鱼好玩。现在有成堆的杆,随时的证,
: 可是再没有小时候钓鱼的欢乐了。
http://www.mitbbs.com/article_t/Fishing/31474229.html
【在 G******U 的大作中提到】
: 图文并茂!
: 谢谢。
: 冉冉快来看。
: 大小伙子帅,了不起。现在就正儿八经的钓鱼。我小时候
: 用缝衣针弯鱼钩,用树枝钓鱼。那还得偷跑出去才行。
: 可是就是小的时候的钓鱼好玩。现在有成堆的杆,随时的证,
: 可是再没有小时候钓鱼的欢乐了。
r*r
14 楼
感觉64位内核下, SL 更快了. 启动应用程序的速度令人难以置信的快.
t*t
16 楼
这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
还有auto以及range based for, 比如说原来遍历容器需要写:
for (vector::iterator i=c.begin(); i!=c.end(); ++i) {
/* do something to *i */
}
现在可以写:
for (auto i: c) {
/* do something to i */
}
【在 n******t 的大作中提到】
: 如果就打算推这个, C++肯定就挂了。
: 这么个四不像,怎么玩啊?
过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
还有auto以及range based for, 比如说原来遍历容器需要写:
for (vector
/* do something to *i */
}
现在可以写:
for (auto i: c) {
/* do something to i */
}
【在 n******t 的大作中提到】
: 如果就打算推这个, C++肯定就挂了。
: 这么个四不像,怎么玩啊?
r*e
17 楼
咱investment版就是"熊窝"啊, 越跌人越多, 越跌越敢买. 三月触底之后就渐渐没动静
了.
还是大家都闷声发大财去了?
了.
还是大家都闷声发大财去了?
A*u
20 楼
有点丧失了清晰性..
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector::iterator i=c.begin(); i!=c.end(); ++i) {
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
r*r
27 楼
在命令行下打入:
ioreg -l -p IODeviceTree | grep firmware-abi
如果看到 EFI64, 就可以启动64位内核, 如果是 EFI32, 现在还不行.
ioreg -l -p IODeviceTree | grep firmware-abi
如果看到 EFI64, 就可以启动64位内核, 如果是 EFI32, 现在还不行.
y*b
28 楼
boost里面的智能指针,分门别类好多种,头大。
c++11搞了两种,是否能一劳永逸解决问题呢,不能的话,
没有其他好办法吗: 让追求效率的人能追求效率,不追求效率的人能像java追求简单。
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
c++11搞了两种,是否能一劳永逸解决问题呢,不能的话,
没有其他好办法吗: 让追求效率的人能追求效率,不追求效率的人能像java追求简单。
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
r*r
39 楼
苹果现在不让. 但不是技术上的原因.
原则上, 只要 cpu 是64位的 (core 2 以后), 就应该可以运行64位内核.
原则上, 只要 cpu 是64位的 (core 2 以后), 就应该可以运行64位内核.
s*a
40 楼
至少lambda函数就很实用,以前为了实现类似的功能很头疼。
它的线程库不知道怎么样。关键是这些新特性基本是独立的,完全可以慢慢过渡
它的线程库不知道怎么样。关键是这些新特性基本是独立的,完全可以慢慢过渡
S*C
45 楼
OAKBX, FPACX, MACSX are available in most brokerage as NTF.
IVAEX is available in thinkorswim for $1000 minimum. It is the best class
for Ivy Asset Strategy.
IVWIX is available in Fido with a transaction fee in for retirement account,
or you can get it from Wellstrade for retirement account for $1000 minimum.
In Wellstrade you can get 100 free trade per account if you have $25000
total asset with them, IMO, it is the best deal among all brokerage.
【在 l***o 的大作中提到】
: which brokerage you use? Thanks
IVAEX is available in thinkorswim for $1000 minimum. It is the best class
for Ivy Asset Strategy.
IVWIX is available in Fido with a transaction fee in for retirement account,
or you can get it from Wellstrade for retirement account for $1000 minimum.
In Wellstrade you can get 100 free trade per account if you have $25000
total asset with them, IMO, it is the best deal among all brokerage.
【在 l***o 的大作中提到】
: which brokerage you use? Thanks
t*t
48 楼
constexpr我也确实不是很喜欢, 感觉为优化而优化了, 还不如引入var-size array呢.
nullptr我倒觉得没什么, 从一致性的角度来说, NULL这样的大写习惯上是macro, 不合
适成为关键字.
auto我觉得没问题, 多写写就清楚了:)
【在 w***g 的大作中提到】
: 1. nullptr和constexpr这两个关键字定义的一点美感也没有。形式上已经和Ritchie高
: 下立现了。要我说还不如把NULL引入成关键字来的好。这样实际上还是跟C兼容的。
: 2. 什么时候用auto什么时候不适合用或者不能用auto不是很直观。
: 除了上面两点吹毛求疵的问题以外,我觉得C++更容易写了。
nullptr我倒觉得没什么, 从一致性的角度来说, NULL这样的大写习惯上是macro, 不合
适成为关键字.
auto我觉得没问题, 多写写就清楚了:)
【在 w***g 的大作中提到】
: 1. nullptr和constexpr这两个关键字定义的一点美感也没有。形式上已经和Ritchie高
: 下立现了。要我说还不如把NULL引入成关键字来的好。这样实际上还是跟C兼容的。
: 2. 什么时候用auto什么时候不适合用或者不能用auto不是很直观。
: 除了上面两点吹毛求疵的问题以外,我觉得C++更容易写了。
wy
53 楼
http://blogs.zdnet.com/Apple/?p=4716
【在 a***y 的大作中提到】
: 为啥不让我进64位啊。。。555
【在 a***y 的大作中提到】
: 为啥不让我进64位啊。。。555
n*t
54 楼
这个算syntax sugar把,我觉得属于可有可无的东西,variadic template C很多C编译
器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
而对语言推广不利。
还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector::iterator i=c.begin(); i!=c.end(); ++i) {
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
而对语言推广不利。
还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
t*t
57 楼
你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
可以写出所有的程序对吧
但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
快, 对性能也没影响.
好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
正是为了语言的推广.
,反
【在 n******t 的大作中提到】
: 这个算syntax sugar把,我觉得属于可有可无的东西,variadic template C很多C编译
: 器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
: 而对语言推广不利。
: 还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
可以写出所有的程序对吧
但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
快, 对性能也没影响.
好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
正是为了语言的推广.
,反
【在 n******t 的大作中提到】
: 这个算syntax sugar把,我觉得属于可有可无的东西,variadic template C很多C编译
: 器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
: 而对语言推广不利。
: 还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
a*y
58 楼
我的kernel_task占用200M+内存
貌似其他人都常常只有120M左右
你们的呢?
也许我需要reinstall the whole system
【在 wy 的大作中提到】
: http://blogs.zdnet.com/Apple/?p=4716
貌似其他人都常常只有120M左右
你们的呢?
也许我需要reinstall the whole system
【在 wy 的大作中提到】
: http://blogs.zdnet.com/Apple/?p=4716
d*q
59 楼
auto比较好,能省很多事.
不过用 var 可能还好,还能省掉一个字母。
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
r*r
62 楼
我的kernel_task 180M, 64 bit.
d*q
65 楼
面,
如果按照 可有可无的说法,很多语言都没有必要存在了。
语法糖很多时候就是差别的来源。喜不喜欢和个人偏好有很大关系。
【在 t****t 的大作中提到】
: 你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
: 可以写出所有的程序对吧
: 但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
: tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
: case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
: 快, 对性能也没影响.
: 好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
: 台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
: 正是为了语言的推广.
:
r*r
66 楼
activity monitor 里,右上角, 选system processes
t*t
67 楼
if i am correct, shared_ptr is the default behaviour of java except GC is
performed immediately. so it's natural that shared_ptr is used the most.
auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
will becomes useful. current gcc implementation is not as good as
shared_ptr though, for example if T is incomplete, you may experience
problem with instantiating dtor and move (which includes move ctor and move
assignment).
【在 d***q 的大作中提到】
:
: 面,
: 如果按照 可有可无的说法,很多语言都没有必要存在了。
: 语法糖很多时候就是差别的来源。喜不喜欢和个人偏好有很大关系。
performed immediately. so it's natural that shared_ptr is used the most.
auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
will becomes useful. current gcc implementation is not as good as
shared_ptr though, for example if T is incomplete, you may experience
problem with instantiating dtor and move (which includes move ctor and move
assignment).
【在 d***q 的大作中提到】
:
: 面,
: 如果按照 可有可无的说法,很多语言都没有必要存在了。
: 语法糖很多时候就是差别的来源。喜不喜欢和个人偏好有很大关系。
X*r
69 楼
I don't think Java (precisely, any particular JVM) uses reference
counting for pointers.
move
【在 t****t 的大作中提到】
: if i am correct, shared_ptr is the default behaviour of java except GC is
: performed immediately. so it's natural that shared_ptr is used the most.
: auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
: will becomes useful. current gcc implementation is not as good as
: shared_ptr though, for example if T is incomplete, you may experience
: problem with instantiating dtor and move (which includes move ctor and move
: assignment).
counting for pointers.
move
【在 t****t 的大作中提到】
: if i am correct, shared_ptr is the default behaviour of java except GC is
: performed immediately. so it's natural that shared_ptr is used the most.
: auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
: will becomes useful. current gcc implementation is not as good as
: shared_ptr though, for example if T is incomplete, you may experience
: problem with instantiating dtor and move (which includes move ctor and move
: assignment).
d*q
73 楼
move
当然 偶尔也要用 weak_ptr。
解决一些 例如 Parent { Child* children}
Child {Parent* p} 之类的问题。
cycle reference是 引数法的缺陷。 不过实际上我很少会在需要c++的场合使用这种设
计。
原来std带的那个 auto_ptr是太蠢了点。难怪没人愿意用。
【在 t****t 的大作中提到】
: if i am correct, shared_ptr is the default behaviour of java except GC is
: performed immediately. so it's natural that shared_ptr is used the most.
: auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
: will becomes useful. current gcc implementation is not as good as
: shared_ptr though, for example if T is incomplete, you may experience
: problem with instantiating dtor and move (which includes move ctor and move
: assignment).
n*t
79 楼
我觉得这种invention是没边的。。什么功能都想弄出来,最后就是杂和乱。当然我最近
很长一段时间可能做系统开发比较多,看法不一定全面。
variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
微考虑一点移植性的程序都不太用C99的新功能。
至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
好处,程序员为什么要用?
我个人的感觉编程打字不是瓶颈,也就是说,如果一个功能推出只是为了少打几个字,
意义不是很大。当然有些时候,简化了句法,同时也简化了思路。但是对于C++来说,我
觉得it从来么有真正做到像java那样的封装程度,也就是说你可以用auto,但是你脑子里
面如果不知道那东西其实是个iterator的话,你很快就会发现你没法真正写稍微大点的
项目,同样iterator你如果对实现没有比较清楚的了解,你一样很快就会撞到让你非常
困惑的问题。从这个角度来数,perl的精简是真正的精简,而C++的这种我觉得只是少打
一些字而已。
面,
【在 t****t 的大作中提到】
: 你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
: 可以写出所有的程序对吧
: 但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
: tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
: case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
: 快, 对性能也没影响.
: 好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
: 台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
: 正是为了语言的推广.
:
很长一段时间可能做系统开发比较多,看法不一定全面。
variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
微考虑一点移植性的程序都不太用C99的新功能。
至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
好处,程序员为什么要用?
我个人的感觉编程打字不是瓶颈,也就是说,如果一个功能推出只是为了少打几个字,
意义不是很大。当然有些时候,简化了句法,同时也简化了思路。但是对于C++来说,我
觉得it从来么有真正做到像java那样的封装程度,也就是说你可以用auto,但是你脑子里
面如果不知道那东西其实是个iterator的话,你很快就会发现你没法真正写稍微大点的
项目,同样iterator你如果对实现没有比较清楚的了解,你一样很快就会撞到让你非常
困惑的问题。从这个角度来数,perl的精简是真正的精简,而C++的这种我觉得只是少打
一些字而已。
面,
【在 t****t 的大作中提到】
: 你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
: 可以写出所有的程序对吧
: 但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
: tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
: case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
: 快, 对性能也没影响.
: 好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
: 台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
: 正是为了语言的推广.
:
t*t
81 楼
新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
准化正是为了避免以后更多的麻烦.
variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
+11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
std::thread或boost::thread也没什么区别, 其实c++11的thread就是从boost抄过来的
. 我不觉得这有什么问题, 就像你开发C++用boost没什么问题一样.
以前有人问过的, 怎么copy base class constructor without touching subclass.
以前的答案是template, 新的答案就是inheriting constructor.
语言的发展简化程序员的工作, 我觉得就是这个思路.
最近
起C
出这
有好
有良
别的
【在 n******t 的大作中提到】
: 我觉得这种invention是没边的。。什么功能都想弄出来,最后就是杂和乱。当然我最近
: 很长一段时间可能做系统开发比较多,看法不一定全面。
: variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
: ++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
: 微考虑一点移植性的程序都不太用C99的新功能。
: 至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
: 么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
: 处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
: 好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
: ?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
准化正是为了避免以后更多的麻烦.
variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
+11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
std::thread或boost::thread也没什么区别, 其实c++11的thread就是从boost抄过来的
. 我不觉得这有什么问题, 就像你开发C++用boost没什么问题一样.
以前有人问过的, 怎么copy base class constructor without touching subclass.
以前的答案是template, 新的答案就是inheriting constructor.
语言的发展简化程序员的工作, 我觉得就是这个思路.
最近
起C
出这
有好
有良
别的
【在 n******t 的大作中提到】
: 我觉得这种invention是没边的。。什么功能都想弄出来,最后就是杂和乱。当然我最近
: 很长一段时间可能做系统开发比较多,看法不一定全面。
: variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
: ++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
: 微考虑一点移植性的程序都不太用C99的新功能。
: 至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
: 么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
: 处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
: 好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
: ?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
g*g
83 楼
Java这方面做得还是很好的,一个是JDK基本上由Sun开发,没有
互相不兼容的问题。另一个是向后兼容很好。
从语言的角度,其实只有两次大升级。
1-1.1,1.4-1.5
c+
【在 t****t 的大作中提到】
: 新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
: 准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
: 了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
: 这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
: 也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
: 准化正是为了避免以后更多的麻烦.
: variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
: +11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
: thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
: 用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
互相不兼容的问题。另一个是向后兼容很好。
从语言的角度,其实只有两次大升级。
1-1.1,1.4-1.5
c+
【在 t****t 的大作中提到】
: 新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
: 准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
: 了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
: 这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
: 也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
: 准化正是为了避免以后更多的麻烦.
: variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
: +11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
: thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
: 用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
y*b
87 楼
http://blog.csdn.net/doctorsc/article/details/6777849
http://sd.csdn.net/a/20111114/307392.html
“C++11就像一门新的语言。” - Bjarne Stroustrup
好是好,够折腾的。
http://sd.csdn.net/a/20111114/307392.html
“C++11就像一门新的语言。” - Bjarne Stroustrup
好是好,够折腾的。
n*t
89 楼
如果就打算推这个, C++肯定就挂了。
这么个四不像,怎么玩啊?
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
这么个四不像,怎么玩啊?
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
t*t
91 楼
这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
还有auto以及range based for, 比如说原来遍历容器需要写:
for (vector::iterator i=c.begin(); i!=c.end(); ++i) {
/* do something to *i */
}
现在可以写:
for (auto i: c) {
/* do something to i */
}
【在 n******t 的大作中提到】
: 如果就打算推这个, C++肯定就挂了。
: 这么个四不像,怎么玩啊?
过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
还有auto以及range based for, 比如说原来遍历容器需要写:
for (vector
/* do something to *i */
}
现在可以写:
for (auto i: c) {
/* do something to i */
}
【在 n******t 的大作中提到】
: 如果就打算推这个, C++肯定就挂了。
: 这么个四不像,怎么玩啊?
A*u
93 楼
有点丧失了清晰性..
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector::iterator i=c.begin(); i!=c.end(); ++i) {
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
y*b
97 楼
boost里面的智能指针,分门别类好多种,头大。
c++11搞了两种,是否能一劳永逸解决问题呢,不能的话,
没有其他好办法吗: 让追求效率的人能追求效率,不追求效率的人能像java追求简单。
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
c++11搞了两种,是否能一劳永逸解决问题呢,不能的话,
没有其他好办法吗: 让追求效率的人能追求效率,不追求效率的人能像java追求简单。
【在 y**b 的大作中提到】
: http://blog.csdn.net/doctorsc/article/details/6777849
: http://sd.csdn.net/a/20111114/307392.html
: “C++11就像一门新的语言。” - Bjarne Stroustrup
: 好是好,够折腾的。
s*a
100 楼
至少lambda函数就很实用,以前为了实现类似的功能很头疼。
它的线程库不知道怎么样。关键是这些新特性基本是独立的,完全可以慢慢过渡
它的线程库不知道怎么样。关键是这些新特性基本是独立的,完全可以慢慢过渡
t*t
102 楼
constexpr我也确实不是很喜欢, 感觉为优化而优化了, 还不如引入var-size array呢.
nullptr我倒觉得没什么, 从一致性的角度来说, NULL这样的大写习惯上是macro, 不合
适成为关键字.
auto我觉得没问题, 多写写就清楚了:)
【在 w***g 的大作中提到】
: 1. nullptr和constexpr这两个关键字定义的一点美感也没有。形式上已经和Ritchie高
: 下立现了。要我说还不如把NULL引入成关键字来的好。这样实际上还是跟C兼容的。
: 2. 什么时候用auto什么时候不适合用或者不能用auto不是很直观。
: 除了上面两点吹毛求疵的问题以外,我觉得C++更容易写了。
nullptr我倒觉得没什么, 从一致性的角度来说, NULL这样的大写习惯上是macro, 不合
适成为关键字.
auto我觉得没问题, 多写写就清楚了:)
【在 w***g 的大作中提到】
: 1. nullptr和constexpr这两个关键字定义的一点美感也没有。形式上已经和Ritchie高
: 下立现了。要我说还不如把NULL引入成关键字来的好。这样实际上还是跟C兼容的。
: 2. 什么时候用auto什么时候不适合用或者不能用auto不是很直观。
: 除了上面两点吹毛求疵的问题以外,我觉得C++更容易写了。
n*t
104 楼
这个算syntax sugar把,我觉得属于可有可无的东西,variadic template C很多C编译
器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
而对语言推广不利。
还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector::iterator i=c.begin(); i!=c.end(); ++i) {
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
而对语言推广不利。
还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
t*t
105 楼
你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
可以写出所有的程序对吧
但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
快, 对性能也没影响.
好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
正是为了语言的推广.
,反
【在 n******t 的大作中提到】
: 这个算syntax sugar把,我觉得属于可有可无的东西,variadic template C很多C编译
: 器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
: 而对语言推广不利。
: 还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
可以写出所有的程序对吧
但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
快, 对性能也没影响.
好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
正是为了语言的推广.
,反
【在 n******t 的大作中提到】
: 这个算syntax sugar把,我觉得属于可有可无的东西,variadic template C很多C编译
: 器里面也有类似的的扩展。不过我觉得一个东西有用,不一定要放到 standard里面,反
: 而对语言推广不利。
: 还有我觉得没必要把thread弄成语言的组成部分,用平台上的库就好了。
d*q
106 楼
auto比较好,能省很多事.
不过用 var 可能还好,还能省掉一个字母。
【在 t****t 的大作中提到】
: 这些新东西其实很好用的...很多"新"东西早几年前就在编译器扩展里出现了, 现在不
: 过是合法化. 比如variadic template, 非常好用, 既不容易出错, 又提高编译速度,
: 还有auto以及range based for, 比如说原来遍历容器需要写:
: for (vector
: /* do something to *i */
: }
: 现在可以写:
: for (auto i: c) {
: /* do something to i */
: }
d*q
109 楼
面,
如果按照 可有可无的说法,很多语言都没有必要存在了。
语法糖很多时候就是差别的来源。喜不喜欢和个人偏好有很大关系。
【在 t****t 的大作中提到】
: 你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
: 可以写出所有的程序对吧
: 但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
: tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
: case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
: 快, 对性能也没影响.
: 好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
: 台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
: 正是为了语言的推广.
:
t*t
110 楼
if i am correct, shared_ptr is the default behaviour of java except GC is
performed immediately. so it's natural that shared_ptr is used the most.
auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
will becomes useful. current gcc implementation is not as good as
shared_ptr though, for example if T is incomplete, you may experience
problem with instantiating dtor and move (which includes move ctor and move
assignment).
【在 d***q 的大作中提到】
:
: 面,
: 如果按照 可有可无的说法,很多语言都没有必要存在了。
: 语法糖很多时候就是差别的来源。喜不喜欢和个人偏好有很大关系。
performed immediately. so it's natural that shared_ptr is used the most.
auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
will becomes useful. current gcc implementation is not as good as
shared_ptr though, for example if T is incomplete, you may experience
problem with instantiating dtor and move (which includes move ctor and move
assignment).
【在 d***q 的大作中提到】
:
: 面,
: 如果按照 可有可无的说法,很多语言都没有必要存在了。
: 语法糖很多时候就是差别的来源。喜不喜欢和个人偏好有很大关系。
X*r
111 楼
I don't think Java (precisely, any particular JVM) uses reference
counting for pointers.
move
【在 t****t 的大作中提到】
: if i am correct, shared_ptr is the default behaviour of java except GC is
: performed immediately. so it's natural that shared_ptr is used the most.
: auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
: will becomes useful. current gcc implementation is not as good as
: shared_ptr though, for example if T is incomplete, you may experience
: problem with instantiating dtor and move (which includes move ctor and move
: assignment).
counting for pointers.
move
【在 t****t 的大作中提到】
: if i am correct, shared_ptr is the default behaviour of java except GC is
: performed immediately. so it's natural that shared_ptr is used the most.
: auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
: will becomes useful. current gcc implementation is not as good as
: shared_ptr though, for example if T is incomplete, you may experience
: problem with instantiating dtor and move (which includes move ctor and move
: assignment).
d*q
113 楼
move
当然 偶尔也要用 weak_ptr。
解决一些 例如 Parent { Child* children}
Child {Parent* p} 之类的问题。
cycle reference是 引数法的缺陷。 不过实际上我很少会在需要c++的场合使用这种设
计。
原来std带的那个 auto_ptr是太蠢了点。难怪没人愿意用。
【在 t****t 的大作中提到】
: if i am correct, shared_ptr is the default behaviour of java except GC is
: performed immediately. so it's natural that shared_ptr is used the most.
: auto_ptr is problematic anyway. with c++1x's moving semantics, unique_ptr
: will becomes useful. current gcc implementation is not as good as
: shared_ptr though, for example if T is incomplete, you may experience
: problem with instantiating dtor and move (which includes move ctor and move
: assignment).
n*t
116 楼
我觉得这种invention是没边的。。什么功能都想弄出来,最后就是杂和乱。当然我最近
很长一段时间可能做系统开发比较多,看法不一定全面。
variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
微考虑一点移植性的程序都不太用C99的新功能。
至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
好处,程序员为什么要用?
我个人的感觉编程打字不是瓶颈,也就是说,如果一个功能推出只是为了少打几个字,
意义不是很大。当然有些时候,简化了句法,同时也简化了思路。但是对于C++来说,我
觉得it从来么有真正做到像java那样的封装程度,也就是说你可以用auto,但是你脑子里
面如果不知道那东西其实是个iterator的话,你很快就会发现你没法真正写稍微大点的
项目,同样iterator你如果对实现没有比较清楚的了解,你一样很快就会撞到让你非常
困惑的问题。从这个角度来数,perl的精简是真正的精简,而C++的这种我觉得只是少打
一些字而已。
面,
【在 t****t 的大作中提到】
: 你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
: 可以写出所有的程序对吧
: 但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
: tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
: case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
: 快, 对性能也没影响.
: 好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
: 台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
: 正是为了语言的推广.
:
很长一段时间可能做系统开发比较多,看法不一定全面。
variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
微考虑一点移植性的程序都不太用C99的新功能。
至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
好处,程序员为什么要用?
我个人的感觉编程打字不是瓶颈,也就是说,如果一个功能推出只是为了少打几个字,
意义不是很大。当然有些时候,简化了句法,同时也简化了思路。但是对于C++来说,我
觉得it从来么有真正做到像java那样的封装程度,也就是说你可以用auto,但是你脑子里
面如果不知道那东西其实是个iterator的话,你很快就会发现你没法真正写稍微大点的
项目,同样iterator你如果对实现没有比较清楚的了解,你一样很快就会撞到让你非常
困惑的问题。从这个角度来数,perl的精简是真正的精简,而C++的这种我觉得只是少打
一些字而已。
面,
【在 t****t 的大作中提到】
: 你要说可有可无当然也不能说错, 因为就算所有C++的特性都没有, 只有C的部分, 你也
: 可以写出所有的程序对吧
: 但是语言发展的目的不就是为了简化程序员的工作么. variadic template出现以前,
: tr1的tr1::tuple, tr1::function之类实现很复杂, 要把一个参数到二十多个参数的
: case都enumerate一遍, 也不安全. gcc4.3以后支持这个了, 就简单得多, 编译速度也
: 快, 对性能也没影响.
: 好用的东西当然应该放到标准里才利于语言的推广, 要不然我写个东西还要担心换个平
: 台不能用. 跨平台上的thread库早就有了, boost就是, 但是大家还是要放到标准里面,
: 正是为了语言的推广.
:
t*t
117 楼
新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
准化正是为了避免以后更多的麻烦.
variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
+11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
std::thread或boost::thread也没什么区别, 其实c++11的thread就是从boost抄过来的
. 我不觉得这有什么问题, 就像你开发C++用boost没什么问题一样.
以前有人问过的, 怎么copy base class constructor without touching subclass.
以前的答案是template, 新的答案就是inheriting constructor.
语言的发展简化程序员的工作, 我觉得就是这个思路.
最近
起C
出这
有好
有良
别的
【在 n******t 的大作中提到】
: 我觉得这种invention是没边的。。什么功能都想弄出来,最后就是杂和乱。当然我最近
: 很长一段时间可能做系统开发比较多,看法不一定全面。
: variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
: ++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
: 微考虑一点移植性的程序都不太用C99的新功能。
: 至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
: 么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
: 处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
: 好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
: ?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
准化正是为了避免以后更多的麻烦.
variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
+11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
std::thread或boost::thread也没什么区别, 其实c++11的thread就是从boost抄过来的
. 我不觉得这有什么问题, 就像你开发C++用boost没什么问题一样.
以前有人问过的, 怎么copy base class constructor without touching subclass.
以前的答案是template, 新的答案就是inheriting constructor.
语言的发展简化程序员的工作, 我觉得就是这个思路.
最近
起C
出这
有好
有良
别的
【在 n******t 的大作中提到】
: 我觉得这种invention是没边的。。什么功能都想弄出来,最后就是杂和乱。当然我最近
: 很长一段时间可能做系统开发比较多,看法不一定全面。
: variadic template貌似是从C99里面抄过来的? 而且其实C99里面加的新功能其实比起C
: ++来说保守太多了,而且都是放到标准里面有不少需求的特性,结果其实际上大部分稍
: 微考虑一点移植性的程序都不太用C99的新功能。
: 至于thread,跨平台的idea固然是没有问题的,但是就这个case来说,在C++里面弄出这
: 么一个内建的功能,比起调用pthread库来说,有什么好处?我的感觉除了麻烦,没有好
: 处。移植性?pthread在所有UNIX和Windows上都有实现,而等到C11在所有平台上都有良
: 好支持恐怕更慢。C++的thread有pthread不能完成的事情么,就我所知没有,反过来呢
: ?一定是有的。加入这么个东西,首先不支持C11的编译器就出问题了,如果还没有别的
g*g
118 楼
Java这方面做得还是很好的,一个是JDK基本上由Sun开发,没有
互相不兼容的问题。另一个是向后兼容很好。
从语言的角度,其实只有两次大升级。
1-1.1,1.4-1.5
c+
【在 t****t 的大作中提到】
: 新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
: 准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
: 了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
: 这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
: 也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
: 准化正是为了避免以后更多的麻烦.
: variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
: +11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
: thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
: 用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
互相不兼容的问题。另一个是向后兼容很好。
从语言的角度,其实只有两次大升级。
1-1.1,1.4-1.5
c+
【在 t****t 的大作中提到】
: 新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
: 准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
: 了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
: 这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
: 也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
: 准化正是为了避免以后更多的麻烦.
: variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
: +11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
: thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
: 用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
t*t
125 楼
是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
简单了.
所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
的. 但是如果都限制死了, 那还不如就用java好了.
【在 n******t 的大作中提到】
: C++的关键点在于不仅没有让内存管理变简单而且是变复杂了。
: 虽然说BS说学C++不见得要先懂C,但是我自己认识的程序员里面,学C++前没有学通C的
: ,基本上写出来的程序就是一个joke.
了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
简单了.
所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
的. 但是如果都限制死了, 那还不如就用java好了.
【在 n******t 的大作中提到】
: C++的关键点在于不仅没有让内存管理变简单而且是变复杂了。
: 虽然说BS说学C++不见得要先懂C,但是我自己认识的程序员里面,学C++前没有学通C的
: ,基本上写出来的程序就是一个joke.
EM
126 楼
如果对速度要求很高的话,是不是用smart pointer不太好?
我看到的很多trading software还是用c写的说。。。
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
我看到的很多trading software还是用c写的说。。。
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
g*g
127 楼
程序员自律是很不靠谱的事情,属于一个老鼠屎坏了一锅汤的范畴。
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
n*t
132 楼
是可以这么干了,但是实际上怎么说吧,一律RAII,和Java比,真的没有多大优势。一
旦自由度高了,其实都差不多,反正都得把事情想清楚,而这一点是大部分程序员并不
喜欢的事情。
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
旦自由度高了,其实都差不多,反正都得把事情想清楚,而这一点是大部分程序员并不
喜欢的事情。
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
y*b
135 楼
自律这个事情挺好的,但是得认识到了才可能执行。
非专业程序员认识RAII,本身就不是一件易事。
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
非专业程序员认识RAII,本身就不是一件易事。
【在 t****t 的大作中提到】
: 是简单还是复杂取决于你怎么用. 如果你把它当作一个C Superset来用, 那的确是复杂
: 了, 本来C就是malloc/free配对就好了, C++有malloc/free, new/delete, 中间还有可
: 能抛出的异常夹在里面. 但是如果你换其它的角度来看, 比如说前两天有人说的, 所有
: 的资源分配一律都是RAII, 只用new和smart pointer, 禁用pointer, 事情实际上是变
: 简单了.
: 所以关键还是在程序员的自律. C++是个自由度很高的语言, 如果滥用肯定是没法收场
: 的. 但是如果都限制死了, 那还不如就用java好了.
相关阅读
一道面试题谁知道如何调试yacc程序?请问这道题怎么解决?C++里面怎么存储长度不同的array?急问:Oracle JDBC 问题Linux下运行lapack和blas的问题成为一个程序员要花多长时间 (zz)How is map implemented in STL?Why should i include .cpp instead of .hc++ template中如何判断类型请推荐讲算法和数据结构的好书!下下周面试Java SDE, 求书good GUI for graph layout and flow?请推荐servlet还有jsp的书strcat()Need experienced PHP Programmer urgently! Good pay!问个g++的问题A simple question on FlexWhat is the best (free) PHP development toolds (IDE) ?请教:如何用Java get URL content是.swe并且是utf-16 encoding的文件