【C++】P姨让写给C程序员看的C++教程……
时间:2010-06-28
来源:互联网
。而不是取代C代码。因此就出现了模块化自给自足的类。但是丫的这东西又不完
备:
1. 说自给自足了,的确,是一个小国家了,运算符重载生命期管理都有,可是最单
纯的左值右值都分不清,要么复制要么不干,这必然引起效率问题。而 C++0x的右值引用
十分晦涩:右值引用不能具名,只要一具名就立刻变成左值(或者常左值),特别的,左
值居然是不能放到右值引用上去,这和传统的语义相悖。我希望的正常的右值引
用是这样的:左值优先绑定左值,右值优先绑定右值,只有右值形参的情况下左值变右值
绑定(而不是编译错误)。问题是 C++0x太急切地需要移动语义了,因此强调:右值引用
一定是移动语义,因此不允许左值来掺和(要掺和得加上move()函数,之后生死不顾)。
这不是扯淡么……
2. 模板这一堆纯粹是失控式的发展。首先,模板本身是不完备的(模板参数无法自
动推导——现在有了auto和declType情况稍微好了点),其次,这个不完备的模板还想整
出些浪来,看了CTG的都知道我在说什么,本来C++的重载已经复杂到无以复加了,这模板
还来插一脚搞SFINE…………反正我觉得这种东西是登不上大雅之堂的。
这就是我不愿意写C++教程的缘故:这玩意目前根本就是个不完备的状态。根本无法
应对高效率的开发。如果想你的项目高效,要么是用特别简单的代码实际上在行C语言的
事儿,要么是用特别复杂的tricks来达到你的目标,这两者我觉得都失却了C++的意义。
我是很看好C++0x的一些特性的(右值引用+lambda+auto+declType+typeglob+class
initializer),等到这些东西普及了再来谈C++吧……
但是说回来,实际上C++在C上面添加的所有修改,都是在组织C代码:类是按照功能
划分的C代码;模板是对C代码的复制和自动生成;引用是在减少指针的引用(区分指向单
个元素的指针和指向多个元素的指针);重载是在管理C函数的名字;虚函数是在取代运
行时的任务分派……等等等等,只要按照这样一种思路理解——C++和C唯一的不同点,就
是提供了大量的组织代码的方式——那么学习 C++就是简单的。
反正,教程是懒得写的………………写点我对C++的认识好了,至于教程嘛,我记得
以前看过某本很薄的书,就是讲C和C++区别的,十分精细,名字我忘了…………
作者: starwing83 发布时间: 2010-06-28
作者: 没本 发布时间: 2010-06-28
回复 starwing83
为什么一定要“完备”, 而不是某种”适用“。另外,能不能反驳一下, “实际上C在汇编上面添加的所有修改,都是在组织汇编代码“ 这个观点?
作者: peidright 发布时间: 2010-06-28
回复peidright:你真的觉得够用么?我就问你一个最简单的问题:如果真的够用,为什么几乎所有的framework和主要的能干点事情的库都得做自己的string??
作者: starwing83 发布时间: 2010-06-28
我比较接受这句
作者: pmerofc 发布时间: 2010-06-28
能举一个,确定因为不够用,而自己实现string的例子么? 是因为不够用,还是出于某种“人” 的原因呢?
上面,我还补充了一个疑问,能否反驳下 “实际上C在汇编上面添加的所有修改,都是在组织汇编代码“ 这个观点?
作者: peidright 发布时间: 2010-06-28
作者: peijue 发布时间: 2010-06-28
对C++的了解过于偏激了。
作者: crowsy001 发布时间: 2010-06-28
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28