C++很难吗?到底有多难?

这篇博客探讨了C++语言的复杂性,包括操作符重载、名字隐藏规则、虚函数、类型转换、泛型编程、元编程以及手动内存管理等特性。C++的这些特性使得它既具备底层控制能力,又能实现高级功能,但同时也增加了学习曲线。对于程序员来说,精通C++能够提升对其他语言的理解和使用效率。
摘要由CSDN通过智能技术生成

C++他爹Bjarne Stroustrup都曾开玩笑说自己已经搞不懂C++了,他也曾多次表达过C++似乎已经有点太庞大了。其实也不是说C++语法多么复杂,而是C++本身复杂,C++既想把C的事情干了,又想掺和掺和Java的事情,这语言能不复杂吗?

C++相对是比较底层一点,基础一点,被封装的没有那么多,所以说它可开发的内容也很多,相对其他的高级语言被封装了很多,去除了一些比较难的地方,比如指针,内存管理等。

当C++用熟练之后,这些都不是问题,然后再去学习其他语言的时候,再用其他语言操作的话,会感觉更加的轻松,学编程系统一些底层的知识必须要会,这是程序员必经的一个路。C++在内存管理和指针方面稍微难了一点,如果能学精通,对以后的编程有很好的帮助。

C++,这个语言的确有非常多的牛逼奇葩语法。

一,操作符重载,±*/%都能重载,不仅如此,像取地址符号&,指针指向符号->,取成员变量符号「.」等,都可以重载,正是因为这个,C++里面可以搞出智能指针的玩意儿!

二,各种名字隐藏规则,子类中名字覆盖基类中名字等。

三,函数分虚函数,非虚函数。

四,自动类型转换规则,整型自动提升为浮点,通过构造函数可以把buildin类型悄悄转为类实例等,

五,泛型,模板,特化,偏特化。以及编译阶段到底是用某个特化版本还是某个偏特化版本,还是使用最基础版本的选择策略都是很复杂的。

六,元编程。传说中的编译期编程!

七,内存必须由码农自己管理,现在能管理好的,不多啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值