C++学习需要注意的一些东西(一)

    C++嘛,emmm......我觉得挺难学的,以前在学校的时候,老师布置的作业,能运行出正确的结果就行,其他的,管他呢,能交差就行,而这也给自己埋下了隐患,工作中被打脸(emmm....自己打自己脸)。

    嘻嘻,话不多说,赶快写总结吧,我是一个初学者,求大佬们指正┭┮﹏┭┮~

    1、如前文所说,项目中,能够用正确的数据运行出正确的结果,那只说明了程序已经完成了一小部分,后面要做的事情多着呢,一个项目,你得考虑你的用户是哪些人,如果用户不小心给你一个错误的数据,那程序大部分都会崩的,这可不太好,你得对这些数据做处理,抛出异常或提示信息让用户知道。

    2、effective C++上写了一句话挺好:C++的难学,不仅在其广博的语法,以及语法背后的语义,以及语义背后的深层思维,以及深层思维背后的对象模型;C++的难学还在于它提供了四种不同而又相辅相成的编程泛型。作为一个C++菜鸡程序员,emmm....现在的我比较菜,只能每写一句去思考一下这句话可能会引发什么错误,可能给我的程序埋下什么隐患。

    3、相信你自己以及越简单越好。这个真的very very very important~可能你想做一个线程池或者内存池的demo?然后你google了一下,你发现,好多啊,emmm....这个不错,那个不错...emm..看花了眼。其实你完全可以根据自己的需求,自己设计。google上的都很全面,但是阅读起来其实也要花时间去理解,但是吧,越简单越好,嘻嘻,用最简单的方式去工作。

     4、养成良好的习惯。成员变量的命名可以参考google编程规范(当然啦,以公司要求为准嘛)。

    5、小菜鸡知道有命名空间这个东西,却很少用到。其实这个东东用处很大的~把你的函数暴露在全局中可不是一个很好的行为,这时候用命名空间封装一下,会很好,把类的声明放在命名空间内,这会是一个很好的行为,这个以后再解释。。像C++ prime书,我是通读一遍,然后根据每章的内容做一个demo,加深理解,建议阅读的时候思考下:我使用这个特性会给我的程序带来什么优化或者危害,我在什么情况下应该使用哪种特性?等等。。。

     6、尤其要避免未定义的行为。声明变量的时候,为它赋初值,这将是一个很好的行为。

     7、C++ prime、effective C++、more effective C++这三本书强推。

     8、把你当成编译器。比如说:你为一个函数传了一个引用,那么编译器做了哪些工作,传值,编译器做了什么工作,以及返回引用,返回值;移动赋值与拷贝赋值的选择;编译器执行到这里,会不会抛异常等等。

     9、const这个用的机会蛮多的....,看C++ prime吧,多看几遍,很重要很重要。

     10、还是相信你自己。github上好多优秀的开源代码,很多代码也都有官方文档帮助你使用。但是,那些文档仅仅是帮助你使用,如果代码量不大的话,想要使用这个代码工具的时候,建议阅读代码(是建议哦~~),一般开源代码的接口都是易于理解的,程序员毕竟是和代码交流的嘛,找到接口,看参数,返回值,以及用到的函数可能会抛什么异常,对自己代码编写有帮助哒。

    11、delete一个指针后,再把该指针赋值为nullptr。如:int a = x; int *p = &a; delete p; p = nullptr。

    12、谨防内存泄漏,这个好多。。。。以后再说。

    13、智能指针少用赋值符号,可以用std::move。这个是指的是在恰当的时候使用,赋值符号容易错嘛,当然这个赋值和移动是两种不同的操作,具体,可以用程序实现下。

    14、多看标准库文档,https://en.cppreference.com/w/cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值