C++ 我想这样用(一)
虽然还是菜鸟,但我是一个地地道道的c程序员,甚至一度很讨厌C++(虽然现在也是)。
为了在不用C++的情况下学习和使用面向对象而长期奔走,曾经用过一年的Python,后终放弃。之后很长一段时间里摆弄OOC(用c实现面向对象),比如JCOOP,LW_OOPC,GObject...后发现他们的设计异曲同工,使用方法大同小异。
个人比较喜欢这类方法,因为很轻量级,在环境苛刻的嵌入式领域很有用处。但是由于重度强迫症,实在无法接受在“大量需要面向对象”的项目里使用这种蹩脚的方式。于是必须再找一条通路。最后大牛的一句话点醒了我:“好的设计才是关键,没人关注你究竟用的什么语言”。。。。。。。。终于,我接受了C++。
不过不要误解,我接受是C++中面向对象的部分而不是什么高端语法,什么STL,Boost。。。
于是有了这个系列文章:“C++ 我想这样用”。不知道我会写到哪里,但是我会尽量坚持。如果你和我一样,是个“C脑残粉+重度强迫症+受虐狂”,还觊觎面向对象的美色,那么恭喜你,这篇文章是为你而写,如果不是,请不要再看下去了。。。您宝贵的时间应该用在编码上!
下面进入正文:
先来说说什么是EC++:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Embedded C++是日本电子大厂NEC, Hitachi, Fujitsu,以及 Toshiba 所使用的内嵌式编程语言。
Embedded C++ 是C++的子集合。有某些C++的特性被移除:
- 多重继承(Multiple inheritance)
- 虚拟基础类别(Virtual base classes)
- 执行时期型别资讯(Run-time type information,即 typeid)
- 新式C++转型(static_cast, dynamic_cast, reinterpret_cast 和 const_cast)
- mutable 型别
- 名称空间(Namespaces)
- 例外(Exceptions)
- 样板(Templates)
这套语言并不被其他的 C++专家看好。特别是C++之父Bjarne Stroustrup 称,"To the best of my knowledge EC++ is dead (2004), and if it isn't it ought to be."[1] 事实上,Embedded C++的官方网站自2002年以后就没再更新了。
(以上内容来自维基百科)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
OK,虽然这个东西已经死掉了,但是却给我提供了宝贵经验,我在使用C++时就会借鉴这种思路,即:
1. 和面向对象无关的东西统统不要,
2. 过度的面向对象机制(如多重继承)也不要,
3. 和C的理念相互违背的东西绝对不要!!
那么有了这些基本思想,我就要转头C++了,别了我的gcc,呜呜~~~~~
OK,就这么多,下次具体说说转投C++环境下要注意的东西,毕竟人在屋檐下,不能不低头(就是说有些很BT的C特性,在C++里是不能接受的,呜呜)。
C++ 我想这样用(一)的更多相关文章
- 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...
- CoreCRM 开发实录——想用国货不容易
昨天(2016年12月29日)发了开始开发的文章.本来晚上准备在 Coding.NET 上添加几个任务开始搞起了.可是真的开始用的时候才发现:Coding.NET 的任务功能只针对私有的任务开放.我想 ...
- 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~
这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...
- 要想提高PHP的编程效率,你必须知道的要点
1.当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数.此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储 ...
- 我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗
文章背景,回答提问:我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗? 我的建议是这样:1. 不要辞职.首先说,你对整个开发没有一个简单的了解,或一个系统的入门学习.换句 ...
- ES6 箭头函数中的 this?你可能想多了(翻译)
箭头函数=>无疑是ES6中最受关注的一个新特性了,通过它可以简写 function 函数表达式,你也可以在各种提及箭头函数的地方看到这样的观点——“=> 就是一个新的 function”. ...
- Windbg Extension NetExt 使用指南 【3】 ---- 挖掘你想要的数据 Managed Heap
摘要 : NetExt中有两个比较常用的命令可以用来分析heap上面的对象. 一个是!wheap, 另外一个是!windex. !wheap 这个命令可以用于打印出heap structure信息. ...
- JS的Object漫想:从现象到“本质”
转自:http://zzy603.iteye.com/blog/973649 写的挺好,用于记录,把对象分成概念的Object(var f={})和 类的Object(function F(){}) ...
- 个人随想:对于一个.Neter来说,如果一直想走技术路线,该怎么走下去
前言 首先我不是一个合格的.Neter,也许在这里我的技术算是很菜的,不过我也是有想法的人,下面罗列出我的想法和将要实现的技术路线图. 1.学习一门底层语言 比如学习C语言,学习C语言的最终目的我觉得 ...
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
随机推荐
- hdu 3449
有依赖的背包,转化成01背包来做: #include<iostream> #include<cstdio> #include<cstring> #include&l ...
- 让wordpress分类和标签的描述支持HTML代码
默认 WordPress 后台分类和标签的编辑页面,分类和标签的描述是不支持 HTML 代码的,我们可以通过在当前主题的 functions.php 文件添加如下代码让分类和标签的描述支持 HTML ...
- iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)
我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interface builder而已.当然如果需要我也会使用 ...
- POJ 1269 Intersecting Lines(几何)
题目链接 题意 : 给你两条线段的起点和终点,一共四个点,让你求交点坐标,如果这四个点是共线的,输出“LINE”,如果是平行的就输出“NONE”. 思路 : 照着ZN留下的模板果然好用,直接套上模板了 ...
- TPS和QPS的区别
一.TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数.TPS包括一条消息入和一条消息出,加上一次用户数据库访问.(业务TPS = CAPS × ...
- JS作用域与闭包--实例
<script> "use strict" //函数作用域 function func(){ var arr = [1,3,5,7,9]; var sum = 0; f ...
- WPF博客地址分享
http://www.cnblogs.com/chenxizhang/archive/2010/03/25/1694604.html http://www.cnblogs.com/lzhp/archi ...
- (组合数学3.1.2.1)POJ 2249 Binomial Showdown(排列组合公式的实现)
/* * POJ_2249.cpp * * Created on: 2013年10月8日 * Author: Administrator */ #include <iostream> #i ...
- Python学习笔记一--字符串的使用
一.基本操作 1. 合并字符串:“+” 2. 打印重复的字符串:"*" 3. 按位获取字符串中的字符:索引 4. 按位获取字符串中的子字符串:分片 5 ...
- 从今天起,正式步入cnblogs,向曾经的脚印说声对不起!
步入这个行业也好多年了,从来没有定居过一个地方. 看过很多前辈们留下的资料,对后者门(其中还有我)留下很多珍贵的东西. 所以,我要向前辈学习,壮大自己,在学习的同时,不要忘记帮助别人. 对曾经我留下的 ...