1.初学c++,比较困惑的问题。
1.c++是一门实用的语言吗?
c++是一个实用的工具,它很有用。
在工业软件世界中,c++被视为坚实和成熟的主流工具。它具有广泛的行业支持和好批。
2.面向对象编程在c++中的作用?
我们要开发一个大型、复杂的应用程序或者系统。使用面向对象编程是最好的方式。
oo吹嘘:现代软件行业,需求越来越复杂。面向过程编程无法满足客户需求,这时面向对象编程就产生了。
c++支持oo编程。c++也可以用作传统c语音的加强。但是如果你像使用c语言那样使用c++,你就无法体现面向对象
编程的优势。
3.泛型编程与c++。
c++支持泛型编程。泛型编程是一种不损失性能情况下最大限度代码重用的技术。
如果泛型组件被设计的很完美,组件非常容易使用,。泛型编程隐藏了很多复杂的细节。它的一个特征是,你使用越多的
泛型编程,程序运行越快。
所以在开发一个复杂的项目时,你不用权衡是否使用泛型编程。泛型编程能让你的程序更快,错误更少。99%的程序员不
用自己设计泛型组件,但是任然能够很好的使用这些组件。开发一个泛型编程的过程:你嘲笑自己,抓住自己的头,突然有一
个想法,然后凌晨3点起来一遍又一遍的修改自己的代码。不愿意思考,不想解决难题的人,不适合自己开发泛型编程。
幸运的是,目前有特别成熟的泛型组件,stl和boost,你只需要知道如何使用就ok了。
4.c++是否比其他语言好(比如java、python)?
停止问这种问题。
99%的情况下,编程语言的选择根据实际的业务,而不是技术的考虑。事实上起作用的是编程环境法律性、企业的政治和
文化性。这些都比单纯的技术重要。
5.需要多久去学习c++?
熟练使用oo/c++需要6-12个月。如果有专家指导,需要的时间更短。如果你维护一个比较好的c++本地库,需要的时间
也短。成为一个指导别人的专家需要大概3年。
那些三天打鱼两天晒网,没有自我驱动的人,永远也学不会。你需要有自我激励能力,学习新的事物,是改变你的想法,
改变你心里模型最好的方式。
学习c++最重要的2件事情:
A。善于思考,自己做自己的导师
面向对象编程的想法和技巧,是通过你不断思考,出现在你脑海中,并被你掌握的,并不是那个老师教出来的。多和那些
有自己想法的人交流,理解他们的想法。为什么要这么写,这么写有什么好处。模拟他们的代码,把他们的技术变成自己的。
B。推荐书籍
初级:
Lippman, Lajoie and Moo, C++ Primer, Fourth Edition, 885 pgs, Addison-Wesley, 2005, ISBN 0-201-72184-1.
Stroustrup, The C++ Programming Language, Third Edition, 911 pgs, 1998, ISBN 0-201-88954-4.
进阶:
Cline, Lomow, and Girou, C++ FAQs, Second Edition, 587 pgs, Addison-Wesley,ISBN 0-201-30983-1.
Meyers, Effective C++, Second Edition, 224 pgs, Addison-Wesley, 1998, ISBN 0-201-92488-9.
Meyers, More Effective C++, 336 pgs, Addison-Wesley, 1996, ISBN 0-201-63371-X.
6.虚函数(动态绑定)是oo/c++的核心吗?
是的!
如果没有虚函数c++将不会是面向对象的。
1.初学c++,比较困惑的问题。的更多相关文章
- 如何初学python?资深程序员浅谈,教你学会入门python
我认为python应该是现在市面上最简单,也是最值钱的一门编程语言,所以学习的人是越来越多,但是,如何初学python?这个问题困扰着很多初学python的人,今天,给大家简单聊聊这个话题. 我曾经也 ...
- 【第一课】神奇的Context
初学Android的困惑 初学Android跳转页面的时候,往往教程里是这么写的: Intent intent = new Intent(); //MyActivity就是当前的Activity,It ...
- C#创建无窗体的应用程序
示例程序 这是初学C#时困惑了很久才解决的问题,突然想起来拿出来和大家分享. 当初我是这样做的: 1. 在窗体初始化时(构造函数里面),添加一句This.Visible = false; 2 ...
- c#问答篇:对象与引用变量-----初学者的困惑
转自:http://www.cnblogs.com/huangyu/archive/2004/08/02/29622.html 从宏观的角度来看,对象是类的实例.比如: //定义一个名为Someone ...
- 初学Direct X(7) ——位图的旋转,缩放以及平移
初学Direct X(7) --位图的旋转,缩放以及平移 本文旨在实现通过D3DXMatrixTransformation2D函数实现位图的旋转,缩放以及平移操作,但是具体的原理部分会在后面进一步的探 ...
- 答好友困惑:Java零基础如何入门,不知道怎么学,迷茫ING
作者:程序员小跃 几个星期之前,我在知乎上看到一个提问,说是:对于完全没有经验零基础自身的数学底子也很弱学习Java应该怎么学习呢?想着类似的问题我也有过回答,并且反馈还是蛮好的,就参考之前的思路回答 ...
- DDD初学指南
去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD ...
- gulp初学
原文地址:gulp初学 至于gulp与grunt的区别,用过的人都略知一二,总的来说就是2点: 1.gulp的gulpfile.js 配置简单而且更容易阅读和维护.之所以如此,是因为它们的工作方式不 ...
- 初学seaJs模块化开发,利用grunt打包,减少http请求
原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...
随机推荐
- loj #6216. 雪花挂饰
(今天碰到的题怎么这么小清新 $n$ 个不相同的点,$q$ 组询问,每次给定 $l,r$,问在 $n$ 个点中,选出 $x$ 个点 $(x \in [l,r])$,用边连起来,能构成多少种不同的树 $ ...
- ACM学习历程—HDU5666 Segment(数论)
http://acm.hdu.edu.cn/showproblem.php?pid=5666 这题的关键是q为质数,不妨设线段上点(x0, y0),则x0+y0=q. 那么直线方程则为y = y0/x ...
- VC2005中将Picture控件显示图片保存为BMP,JPG等格式
1.在stdafx.h头文件中加入 #include <atlimage.h> 2.保存图片 方法一: HBITMAP hBitmap = NULL; //创建位图段 BITMAPIN ...
- C语言第二次实验作业
PTA ================= 11-6 方阵循环右移 --------------- 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.....n-1列变换 ...
- Anti-pattern(反模式)
常见的与“直觉”相背离的 anti-pattern 产生的实际原因是我们没有深入全面地考虑问题. 即只关注到自己关心的方面,忽略了其他重要的.恰好起相反作用的因素. 所以这个“直觉”是不成熟.不全面的 ...
- yum 使用笔记
yum 重新配置了源以后,用 yum clean all 先clean一下,才能用新的.
- mybatis 学习五 动态SQL语句
3.1 selectKey 标签 在insert语句中,在Oracle经常使用序列.在MySQL中使用函数来自动生成插入表的主键,而且需要方法能返回这个生成主键.使用myBatis的selectKey ...
- Plain text considered harmful: A cross-domain exploit
referer:http://balpha.de/2013/02/plain-text-considered-harmful-a-cross-domain-exploit/ Data from aro ...
- SUSE 设置IP地址、网关、DNS
说明: ip:172.18.4.107 子网掩码:255.255.255.0 网关:172.18.4.254 dns:172.18.0.6 1.设置ip地址 vi /etc/sysconfig/net ...
- Java中自动装箱代码初探
<深入理解Java虚拟机>中讲语法糖时,提到了下面这个例子(不是原文中的例子,我自己改过): public class AutoBoxingTest { /** * @param args ...