你应该掌握的10个现代 C++ 特性

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ต.ค. 2021

ความคิดเห็น • 23

  • @user-yc9sj8xg7d
    @user-yc9sj8xg7d ปีที่แล้ว +15

    C++的问题是比较考验团队约束成员的能力,必须规定好代码风格,让大家尽快适应一种写法,比如tempalte的使用场景,CRTP的使用场景,否则组里有高手炫技不加克制的话很容易造成整体效率低,但是有缺点就有优点,C++的灵活性也造就了模式设计方面的便捷和灵活,移动函数也大大节省了内存提升了效率,但还是那句话,要克制,克制,不要move满天飞,也不要乱用智能指针,在需要自动管理堆上对象的时候不要不敢用,在可以手动管理对象的时候也不要乱用,毕竟智能指针占内存,总之组长规定好风格非常重要

  • @tommyguan9921
    @tommyguan9921 ปีที่แล้ว

    讲得很好呀,期待你的更新!

  • @bravodaguo1373
    @bravodaguo1373 ปีที่แล้ว +2

    5:22的pow函数不够严谨,应该是int pow(int x, int y)
    {
    int result = 1;
    while (y-- > 0)
    {
    result *= x;
    }
    return result;
    }
    这样x^0可以得到1而不是x

  • @leimiles18
    @leimiles18 ปีที่แล้ว

    感谢分享

  • @py6827
    @py6827 ปีที่แล้ว +1

    2:50時候,程式碼比較不會像python 簡單方便。

  • @user-qb7bg3eq6l
    @user-qb7bg3eq6l ปีที่แล้ว

    求问假如是一个for loop i 从1到100, 这里里面计算POW,是通过constexpr去计算的吗?

  • @stewieyan
    @stewieyan ปีที่แล้ว

    请问视频中展示代码的部分是用什么IDE录制的吗?

  • @user-jdi8kqwfj2
    @user-jdi8kqwfj2 ปีที่แล้ว

    5:40 c99标准就已经允许静态数组使用变量了,gcc是支持的,只要程序执行时是确定的数就可以。

  • @chantom6642
    @chantom6642 ปีที่แล้ว +2

    公開的library太少,以致於太少人用!

  • @user-gj7xb5tq8l
    @user-gj7xb5tq8l ปีที่แล้ว +29

    把C++搞成這樣,C++之父(Stroustrup)要負最大責任,有長達十年時間,他幾乎脫離業界需求與學界趨勢,宛如夢遊般瘋狂亂加C++邏輯語法,導致前後版本不兼容,也沒提供兼容方法,害得許多公司都停留一個C++版本很久不敢隨便升級。
    本來編譯器技術夠好,語法可以簡化不少,但這位大師居然不走此路,利用模板概念大量補足技術缺憾,導致模板書內容比語法書還雄偉。要不是編譯器技術出現變革,再加上社群縮小,才讓他開始關注兼容性與語法糖問題,否則真不知他要夢遊到何地??

    • @llllele
      @llllele ปีที่แล้ว

      有道理

    • @xudongw
      @xudongw ปีที่แล้ว +1

      Do you really think Bjarne controls everything?

    • @user-yc9sj8xg7d
      @user-yc9sj8xg7d ปีที่แล้ว

      前后版本不兼容是啥意思?能编译Cpp11就能编译Cpp98吧

    • @jacklc9156
      @jacklc9156 ปีที่แล้ว +2

      不会啊,C++ 有个标准委员会,不是 Stroustrup 一个人说了算的。

    • @user-jdi8kqwfj2
      @user-jdi8kqwfj2 ปีที่แล้ว

      @@user-yc9sj8xg7d libc的问题

  • @seayellow5834
    @seayellow5834 ปีที่แล้ว +5

    看来还是c+python好一点。

  • @sourpotato001
    @sourpotato001 ปีที่แล้ว +4

    主要介绍的是c++ 11, 标题应该改为c++ 11的 新特性。

    • @user-yc9sj8xg7d
      @user-yc9sj8xg7d ปีที่แล้ว +1

      现代C++一般就是指从C++11开始,Scott Meyers的Effective Modern C++讲的就是C++11

    • @emmettz6729
      @emmettz6729 ปีที่แล้ว

      也讲了一些14,17以后的特性,所以这标题也没错

  • @gonglei007
    @gonglei007 ปีที่แล้ว

    看上去C++里的auto 很像是javascript里的var。

  • @user-jdi8kqwfj2
    @user-jdi8kqwfj2 ปีที่แล้ว

    98标准已经完全够用了,stl在实际大项目中也用不上,还是自己写的库高效。后来的这些版本让学习成本猛增,效果只是书写简化了点,但是代码可读性方面甚至有下降。一个语言最重要的是语法稳定,尽量兼容,现在搞得太乱了,试想如果c语言也这么搞的话,就没有今天这么流行了。

  • @yuyanqin2722
    @yuyanqin2722 2 ปีที่แล้ว

    😄

  • @lon91ong
    @lon91ong ปีที่แล้ว +2

    还是python+nuitka好了,C++就算了