Q1:初学者怎样学习C++编程?
首先.计算机语言虽然神奇,但也是一种语言。首先,你应该看一些语言框架,基础语言知识和语法.但是不要限制思维,一定要学以致用。打基础阶段,看内容,做课后题,找经典教材,比如《C++编程思想》。如果觉得难,就学C语言,C语言是一种程序性语言,比较零碎,学习过程可以一个一个的打破。如果是C,你可以用谭浩强的教材。基础很重要.有些模糊的内容必须理解。如果你真的想学点什么,基础是关键。否则会和在培训机构培训了几个月的人差不多,只能是it民工。在申请阶段,尝试一些有挑战性的项目。最好有一个好的学习环境,这样可以提高你的效率,培养你的团队合作能力。同样,技术很重要,但质量的提高和知识的拓展更重要,否则真的和机械师没什么区别.
Q2:如何学好C++呢?
大一学C,下班后一直用C。1.从C初学者到精通的书单《The C programming language》必读《C++ Primer》,号称是一本入门参考书,可以让你从C或JAVA程序员变成真正的C程序员。《The C++ programming language》,C之父,被称为B教主的作品。读完C入门,应该可以跳过章节,选择读物。《Think in c++》,网上说这本书中文版翻译质量极差,建议看影印版,选择阅读。《Effective c++》,类似于Effective java,讲的是最佳实践,程序员一定要读懂。《More effective c++》,信的补充。《The C++ standard library》,可以写c,但是不能用标准库。就像java程序员不能使用java.util包一样,他们必须阅读它。《Effective STL》,STL库的最佳实践。有效C,作者的又一力作,必读。《The annotated STL source》,STL源代码分析,这本书应该算是深入/精通,请阅读。《Generic programming and STL》,被称为C编程,处理模板和泛型,所以掌握泛型势在必行。《C++ Template》,c模板编程,有代码复用经验,必读。《Exceptional C++》,类似于Effective C,属于最佳实践和问题分析。书中列举了许多应用场景和示例代码,供读者思考和选择。《More Exceptional C++》,信的补充。《Exceptional C++ Style》,以上书的补编是《Inside The C++ Object Model》。有了这些书作为基础,你终于可以读这本神书了。它将向您展示C对象模型的底层实现机制。看完这本书,任何C代码看起来都像流水,所以一定要读。2.优秀C/C开源项目(已阅读代码)OS: Linux内核LVS、Linux应用DB: MySQL、PostgreSQL组件:VM、GCCFramework:OpenSip、SipProxy、Net: ACE (Java Mina、Netty)、TCP/IP、HTTP协议栈Cache:Memcached、Redis、library: STL (Java util包)、Boost、Qt(UI)、balance:Apache、NginxGSL地址:https://github.com/microsoft/. GSLBoost文档地址:官网、 https://www.boost.org/doc/libs/wxWidgets地址:http://wxwidgets.org/gtkmm地址:https://www.gtkmm.org/en/CopperSpice地址:https://www.copperspice.com/. Qt地址:https://www.qt.io/Eigen地址:http://eigen.tuxfamily.org/index.php? Title=main _ page # documentation plot utils地址:https://www.gnu.org/software/plotutils/Asio地址:https://think-async.com/Asio/POCO地址:https://pocoproject . org/. absel地址:https://absel . io/C中的开源库汇总列表地址:除了这些开源项目之外,你还可以在https://en . cppreference.com/w/CPP/links/libs中找到一些免费的开放课程,然后,一个由ACM金牌选手讲授的免费C课程就来了如果当年有这个教训,我的C就不会这样失效了。3.c语法讲解语言基础,详细介绍变量、表达式、语句、指针、数组、进程控制、函数、文件组织等。抽象机制——面向对象编程深入解释了C语言的抽象机制,包括封装(类)、继承和多态;运算符重载、函数对象、异常处理等。模板-泛型编程详细介绍了C语言的模板机制、类模板、函数模板和模板专门化。
4.深度C面向对象4.1。从C到C的引用和指针:为什么引用是重要的常量关键词:为什么常量是重要的命名空间)4.2。深度C对象关于内置类型的C对象,如int和double对象,用户定义类型的对象类型的定义关键字类和结构类成员:成员函数和数据成员静态数据成员成员的访问控制对象的大小关于这个指针在一个成员函数上,什么可变数据成员常量修改4个特殊的成员函数:构造函数、析构函数、构造函数、运算符=对象的构造,以及初始化列表对象的析构函数的复制。什么情况下需要明确定义四个特殊函数C对象生命周期4.3、运算符重载关于C中的运算符重载机制重要运算符重载算术运算:-,*,/,%,-,关系操作:==,=下标访问:[]函数调用: ()、函数对象类型转换、单参数构造函数和隐式转换、防止隐式转换-显式关键字friends and members 4.4、面向对象基础-继承基类和派生类,讲对象构造和析构虚函数、纯虚函数派生类的内存布局、虚函数表的多态、多态类型,以及如何体现多态。
构、为什么虚析构很重要4.5、关于继承更多的话题多继承虚继承与虚基类对基类的访问、public /protected /private继承Down cast:static_cast和dynamic_cast运行期类型识别 (RTTI)4.6、C++与面向对象设计C++语言机制提供了完整的OOP支持超越继承OOP若干法则和设计模式5.C++泛型编程与STL5.1、C++ 模板机制5.2、STL 概要5.3、STL容器5.4、STL迭代5.5、STL算法5.6、预与定义STL数对象5.7、STL适配器6. C++进阶《C++ Primer》最新版本:第三版(第四版国外已上架, 国内一些网上书店也在预订中)适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C++的学习未必是 好事。《The C++ Programming Language》/《C++程序设计语言》最新版本:第三版特别版简称 TC++PL,有其他语言的丰富经验的。(也有人简称之为“TCPL”,但需与另一本《The C Programmer Language》区分开来)《Essential C++》《Accelerated C++》这两本薄一些,都是不错的选择。《Accelerated C++》本人没有读过,从各方面的评价来看,完全值得推荐。以上几本书都有相应的中文版,而且翻译的质量都不错。上面的书未必都需要读一遍,但无论如何,TC++PL是应该阅读的。《Effective C++》最新版本:第二版(第三版国外已上架,国内一些网上书店也在预订中)简称EC。C++程序员必读!很多时候,我们说C++圣经不是指TC++PL,而是这一本。《The Pragmatic Programmer》一书中写到:“一旦你发现自己要参与C++项目的开发,赶快跑(不要走)到书店去购买Scott Mayer的《Effective C++》,可能还要《More Effective C++》”。《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》/《C++ 编程规范》个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系 列都在这里得到了总结。最新的模版、异常的业界经验都在这里的到了体现。可能的唯一缺陷就是对一个新手而言,关于“为什么这么做”的问题,解释的不够。我 的看法是:如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。我认为这本书中的内容至少在2009年以前都不 会过时,人们将广为传诵它制定的101条戒律。还不知道他的简称,也许“101”会成为一个候选者?提到《Effective C++》,那么另外三本书一一浮出水面:《More Effective C++》《Exceptional C++》《More Exceptional C++》。新书《Exceptional C++ Style》也是值得一看的好书。上 述几本书,一本也不应该放过。个人建议上述书籍按顺序阅读。并且,在将来反复阅读这几本书。《Thinking in C++》/《C++编程思想》这本书及其中文版传言好坏都有,没有认真看过,不做评价,如果确有兴趣,不妨尝试 一下该书。以下几本书基本上涉及的都是语言本身,大体上可以按照以下的顺序阅读。《C++必知必会》如果早一年,这本书将是重量级的,然而它被101和《Exceptional C++ Style》盖过一头。《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序设计陷阱》这又是一本我未曾读过,而且广受好评的书。《STL 源码剖析》这本书我刚到手,就被人"借"走,以至于到现在也没有看过。看过这本书的朋友,可以给一个合适的评价。7. C++进阶之数据结构基础这是所有编程语言中最应该学习的部分,程序组成的基础之一。顺序存储、链式存储、循环链表;双向链表、栈(顺序和链式)、队列(顺序和链式);栈的应用、树基本概念及遍历、二叉树;排序算法、并归算法、选择、插入、快速、希尔。以上这些内容你知道吗?8. C++进阶之UI界面开发掌握QT类库构架,图形界面开发模型;掌握QT开发技巧,消息机制,图形处理;掌握QT网络编程,UDP,TCP使用方式;掌握QT文件处理方式,序列化;掌握QT在windows,linux,ios,android不同平台下的移植技术。9. C++进阶之Unix/Linux网络服务器掌握Unix/Linux平台开发方式;熟练使用系统调用;熟练Unix/Linux内存管理,进程,线程调度;熟悉网络服务器开发方式,熟练编写TCP,UCP网络服务程序;掌握同步/异步IO模型在网络编程中的使用方式。10.C++进阶之数据库开发掌握SQL语言的实用技巧。Oracle,MySQL数据库的使用方式。如果你能熟练掌握以上列出的技能,具备解决复杂问题和技术难点的能力,而且你能独立开发一些比较复杂的功能模块,那么很荣幸地告诉你,你已经达到中级水平,薪资过万对你来说简直是小菜一碟。11.C++标准参考C++ reference地址:https://en.cppreference.com/w/C++ Coding Standard地址:http://www.possibility.com/Cpp/CppCodingStandard.htmlStandard C++地址:https://isocpp.org/State of C++ Evolution地址:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2597.htmlThe C++ Resources Network地址:http://www.cplusplus.com/Draft C++ Standard: Contents地址:http://eel.is/c++draft/需要资料私聊我
Q3:新手怎样才能学好C++
买一本谭浩强的《C++程序设计》,静下心来,脚踏实地,一步一个脚印,在学习的瓶颈处永不放弃。尝试独立解决问题。一定要多在电脑上练习,尽可能多看别人写的代码。学习C语言最重要的部分是学习类和对象。熟悉面向对象的三个特点。一定要多在电脑上练习。忍耐,忍耐,孤独,无聊,无聊。每次电脑操作前让QQ离线或隐形!尽量不要通过播放音乐来打扰自己,安静仔细地调试程序,认真解决程序中的任何错误。如果长期得不到解决,不要灰心。目标,毅力,多在电脑上练习,参考别人现成的资料!一天七个小时,一年后,就可以玩俄罗斯方块等小游戏了。
Q4:怎样学好c++啊?
我学建筑的,没有课程安排学VC。只是个人兴趣,没想到自己编程方面还是比较有兴趣(有点天赋),2010年毕业就来中关村编程。现在感觉还不错,学 了很多东西。总之,这个编程就是设计思想很重要,一个好的程序员可以在2分钟之内编号一个功能,但是她绝对可以花10倍的时间去调试。因为只有这样才可以检视程序内部是如何执行的。无论什么语言,其内建的运算符、函数等的都是语言上比较低级的东西,程序员的大部分时间都花在如何设计和抽象自己的类,之后建立面向对象编程上面。既然这样,并且基于微软系统的盛行和垄断地位我们编写就要用MFC类库就要使用MFC编程框架。所以虽然MFC起步很难学,有点捉摸不透。但是还是要硬着头皮学下去,(只要你想学好编程的话,或者将来想从事与之相关的工作)。我认为最好方法就是:1、查看MSDN的习惯。(很强大,很多新手都不注重,其实记住所有的东西很困难,我师傅做了编程7年了很多时候,要较真的时候还是要查看MSDN,我认为养成个这个良好的习惯是受益终生的起码对于编程者来说)。2、千万不要期望记住所有的东西,因为有VA助手(详情百度VA)。编程高版的VC2002,2005,2008等里面已经集成了VA,所以不用单独安装。但是很多的还是习惯用VC6,我们公司就是。所以安装VA1561版本是最佳选择(网上有破解免费的)。可以体验一下啊。极大的方便程序编写。函数等的只要记住大概的KWord即可。3、最后就是看MFC编程实例,有很多好的网站。这个东西点滴积累的。很多的东西看懂之后,重要函数(一个程序中的关键段和关键函数)去查下MSDN,之后自己在编写一个类似的或者直接的在原基础之上改,就回进步很快,记得很牢。有一天你会发现,你记住的函数已经很多了。看一般的MFC程序都可以流畅的看下来。那种成就感尤其对于编程新手来说,是无法用语言表达的。最后,祝你好运!
Q5:怎样才能学好C++
我也是个新手,我也是计算机系的,我也很讨厌编程,不过,我现在已经大三了,我是那种危机感很强的人,计算机系的人学的好的,真的很少了,我现在就在努力学习C++,现在我就很后悔了,因为我在前两年里真的是什么都没有学到,几乎是一片空白,真的很难想象的,到了大三,现在我开始从头开始学习,因为如果你是这个系的,你连这里面的东西都不懂,我感觉真的说不过去了,我每次看书的时候,都感觉是一种煎熬,真的是很难看进去,不过你既然想学,就必须要花心思,学这个东西其实跟你学英语或者其他一种外语都是一样的,说白了就是一种语言,你必须要先融入其中,多接触,多看,多想,抛开别的一切,可能别人会说你怎么怎么了,别管他们,最好是自己找个没人的地方,慢慢看,这样看的东西会多一点在看的过程中,我遇到了很多很多不懂的东西,没办法,我就借了三四本书一本一本的翻着看,然后再不懂的,就问人,你最好把书上的一些很拗口的词通过联想,比如他说的一些类,一些指针,地址,你把它打比方着记,这样会好一点 最好一章一章的看,记住,一定要每天都看,不然你没效果的,如果你只看了,不做后面的题目,那你看了等于白看,一定要做题目,下个vc06,试试打程序,这样你就真正掌握了 说到底,这就跟你学英语一样,要多看,多背,多记,真的就是在学一门语言而已,坚持是学这个的王道!!一定要坚持!
Q6:新手如何学习编程?
熟悉以下几个关键的东西,可以边做边学,定期训练,定期思考和长期积累:1。语法。2.基础理论(数学、数据结构、算法等。).3.设计方法(编程原理、设计模式、框架设计等。).4.库(核心、基础、UI、扩展、游戏引擎等。).5.计算机相关(操作系统、网络、图形等。).6.领域知识(游戏设计、网站设计等。).7.开发工具(编辑器、IDE、自动部署等。).8.项目管理(进度管理、分工、Bug管理、版本控制等。).最常见最重要的能力:创造力。试着分析和理解做什么和怎么做。你知道,这些东西一开始都不存在。具体方法包括:1。快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java,读了《Java编程思想》,做了一些练习。然后学了ActionScript之后就没看什么书,只看了Adobe官方文档《ActionScript 3.0编程》。2.阅读该库的文档、示例和源代码。比如在Flash和Flex的开发中,熟悉官方的API是非常重要的,具体使用的时候要注意很多细节。这个时候最好做个笔记,虽然我从来没有看过笔记。3.做一个我感兴趣或者熟悉的小项目。比如我用黑白棋局作为多种语言的测试项目。同样的逻辑使得关注语言特征变得容易。4.自己吃饱穿好。厨师有食谱,但程序员没有。比如我玩游戏的时候,游戏编程最关键的知识都是靠手学的。专门针对某个业务领域(比如游戏)的编程书很少,要么是入门书,要么是模型书(比如算法),要么是理论书(图形)。很少有书教你如何用编辑器开发45度地图系统。这取决于你自己的想法和看之前的代码。如果有必要,你可以找一些网络信息。关键是培养最重要的创造力。算法和设计模式可以研究,但关键是平时怎么用。初学者很少来。在项目管理方面,要看工作经验。多思考,多提意见,不只是过程。