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 ...
随机推荐
- python-Django初体验
1.搭建Django开发环境 2.创建工程与应用 CentOS6.5环境下 Python 2.6 ipython 1.2.1 Django 1.6.5 pip install -y django == ...
- 20165210 Java第二次实验报告
20165210 实验二 Java面向对象程序设计 一.面向对象程序设计1--单元测试和TDD 实验要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html ...
- L116
7. You will discover surprising new ideas that are interesting and engaging Reading introduced me to ...
- python究竟要不要使用多线程
在总结concurrent.futures库之前先来弄明白三个问题: (1)python多线程究竟有没有用? (2)python虚拟机机制如何控制代码的执行? (3)python中多进程处理原理是怎么 ...
- Linux 链接网络
目录 查看网卡 存在多个网卡 网卡配置静态IP 报错总结 诚邀访问我的个人博客:我在马路边 更好的阅读体验点击查看原文:Linux链接网络 原创博客,转载请注明出处 @ Linux在安装系统结束后总要 ...
- [转]使用Flexible实现手淘H5页面的终端适配
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...
- Haproxy状态监控配置教程
https://www.cnblogs.com/tianciliangen/p/7985881.html 方法一:在defaults段增加如下配置: stats refresh 30s #统计页面自动 ...
- Python numpy函数:transpose()
transpose用于对高维数组进行转置,转置时候需要一个由轴编号组成的元组. 比如说三维的数组,那就对维度进行编号,也就是0,1,2:这样说可能比较抽象.这里的0,1,2可以理解为对shape返回元 ...
- java代码包装类----------Integer
总结:我的笔试挂了..基础的继承不懂不会.我不知道到底是哪里的问题. 要好好反思 package com.da.ima2; public class jrfk { // int整型不能直接转化为Int ...
- IIS:配置参数
ylbtech-IIS:配置参数 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回顶部 ...