首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何学好C+。有书自学就够吗?那你可能就还是在入门!

学习C ++的主要方法是用C ++编写大量代码。任何其他编程语言也是如此。

话虽这么说,但是在所有主流编程语言中,C ++可能是最不适合初学者的。由于其复杂性,需要很长时间才能开发出良好的C ++思维模型。这是一个例子。在C中,以下程序打印“ Hello,world!”。跟换行符:

#include

int main(){

?printf(“ Hello,world!\ n”);

}

我确定有人向您解释了“ \ n”是一个特殊的序列,表示“换行”。因此,稍后,当您了解字符串变量时,可以编写此代码...

#include

#include

int main() {

?std::string s = "Hello, world!" + std::endl;

?std::cout

}

(大概有人解释说,“%s”的意思是“打印字符串变量的内容。)

现在让我们来做C ++

#include

int main(){

?std :: cout

}

有人向您解释说这将打印“Hello,World!”然后是换行符。因此,稍后您将了解C ++中的字符串,然后尝试执行以下操作:

#include

#include

int main(){

?std :: string s =“Hello, world!!” + std :: endl;

?std :: cout

}

你猜怎么着?这不会编译。错误消息说:错误:类型为“ const char [14]”和“ ”的无效操作数为二进制“ operator +”

为了完全理解原始程序的工作原理,您需要知道std :: endl根本不是换行符。真正了解std :: endl的工作原理是初学者无法掌握的。好的老师只能告诉你很多事情,在这一点上,std :: endl是只有在将其发送到流中时才有意义的东西。但是,即使在第这种情况下,您也刚刚学会了一个看似简单的规则,而没有关于其工作原理的思维模型。除非您非常了解该语言,否则很多事情根本没有任何意义。

所以,C ++对初学者来说并不友好。现在又有一个问题。 C ++非常复杂,以至于大多数C ++程序员都不十分了解该语言,因此大多数有关C ++的书都很烂。但是Stack Overflow上的人们维护着一本不错的C ++书籍清单:《权威的C ++书籍指南和清单》。我强烈建议您选择其中一本并且至少要透彻阅读。

但是不要以为只要阅读完整本书,就会知道C ++!除非您在编码的同时进行阅读,否则您会忘记阅读的大部分内容。如果您是大学生,则可以参加使用C ++的课程。也许您将编写很多错误的代码。但是没关系,随着您对语言的慢慢了解,您可以返回并重写程序,也许效果更好。

一路上,您会遇到麻烦。你可以只搜索满足您需要的代码片段,然后将其粘贴到程序中并进行调整,直到可以正常工作为止。或者,您可以找出不了解的概念,并阅读一篇实际解释该概念的文章,从而了解如何为自己正确编写代码。如果您想很好地了解C ++,那么不言而喻,您应该做后者!

在几个月甚至几年后,您将编写成千上万行C ++代码,并且您通常对C ++在大多数情况下的工作方式都有很好的了解。但是这种语言可能仍然令人沮丧。您可能偶尔会收到整页长的错误消息。此时,您将要真正了解C ++的本质。所以你会怎么做?多读点书!另外,如果您对随机事物感到好奇,例如“嗯,我想知道我是否对此函数有两个重载,而其中一个将要被调用”,那么不要满足于我知道答案,而是为什么会这样!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210412A07ZZR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com