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 ...
随机推荐
- tensorflow中有向图(计算图、Graph)、上下文环境(Session)和执行流程
计算图(Graph) Tensorflow是基于图(Graph)的计算框架,图的节点由事先定义的运算(操作.Operation)构成,图的各个节点之间由张量(tensor)来链接,Tensorflow ...
- 还是畅通工程(peime算法最小生成树)
个人心得:就是最小生成树的运用,还是要理解好每次都是从已搭建好的生成树里面选择与她的补集中最短距离,所以那个book数组的更新 需要好生体会.不过还是有缺陷,算法的复杂度为O(n^2),看介绍说用优先 ...
- LeetCode Student Attendance Record I
原题链接在这里:https://leetcode.com/problems/student-attendance-record-i/description/ 题目: You are given a s ...
- ACM学习历程—SNNUOJ1215 矩阵2(二分 && dfs)
http://219.244.176.199/JudgeOnline/problem.php?id=1215 这是这次微软和百度实习面试的一道题,题目大意就是:有一个n*m的矩阵,已知它每一行都是不严 ...
- Installing Redis more properly
Installing Redis more properly Running Redis from the command line is fine just to hack a bit with i ...
- 机器学习:线性回归法(Linear Regression)
# 注:使用线性回归算法的前提是,假设数据存在线性关系,如果最后求得的准确度R < 0,则说明很可能数据间不存在任何线性关系(也可能是算法中间出现错误),此时就要检查算法或者考虑使用其它算法: ...
- Excel开发学习笔记:读取xml文件及csv文件
遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. ).Split( ...
- 一张图看懂------left join;right join;inner join
- 2015.3.5 VS2005调用VC6 dll 时结构参数的传递
结构只能以地址方式进行传递,dll只能传递结构不能传递类 VS端: [DllImport(@"D:\程序\VC程序\MfcDllspace\Debug\space.dll")] p ...
- Ubuntu中vi命令的使用
指今说明: 进入 vi 的命令vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第n行首 vi + filename: 打开文件,并 ...