当前位置: 首页 > news >正文

如何制作自己的视频网站2023年重大时政热点

如何制作自己的视频网站,2023年重大时政热点,遵义信息网,网站的总规划书C的哲学思想 文章目录 C的哲学思想💡前言💡C的哲学思想☁️C底层不应该基于任何其他语言(汇编语言除外)☁️只为使用的东西付费(不需要为没有使用到的语言特性付费)☁️以低成本提供高级抽象(更…

C++的哲学思想

文章目录

  • C++的哲学思想
  • 💡前言
  • 💡C++的哲学思想
    • ☁️C++底层不应该基于任何其他语言
    • (汇编语言除外)
    • ☁️只为使用的东西付费
    • (不需要为没有使用到的语言特性付费)
    • ☁️以低成本提供高级抽象
    • (更高级的目标是0成本提供高级抽象)
  • ⭐END
    • 🌟跋
    • 🌟交流方式

💡前言

在很多领域,有些东西是永恒的。而在 C++ 中有下面三条哲学思想便属于这一类:

  1. C++底层不应该基于任何其他语言
  2. 只为使用的东西付费
  3. 以低成本提供高级抽象

向我们的 C++之父 Bjarne Stroustrup 致敬!

Bjarne Stroustrup’s Homepage

在这里插入图片描述

注意:本文并不攻击其他任何语言。

💡C++的哲学思想

☁️C++底层不应该基于任何其他语言

(汇编语言除外)

如果一个语言的目标就是成为正真的高级,那他就必须把做系统程序的设计工作让给其他语言。比如java,python等。这就不得不同时记住两种语言的原语和准则。

C++ 试图给出另一条路,它提供了低级特性和抽象机制,支持这两种东西构造混合的系统。

☁️只为使用的东西付费

(不需要为没有使用到的语言特性付费)

对于规模较大的语言,有一种论断人人皆知,说它们会产生大而慢的结果代码。

如:

由于支持某种特性,使得这个开销遍布于整体,如 java 的很多类型必须开启在堆区,而 C++ 可以自由的在堆或栈创建需要的对象。

还有比如在 C++11 推出的std::thread,没有自动join的机制,在 C++20 推出了std::jthread弥补了这一缺陷。而不是直接在原有的std::thread中修改。因此在以往的代码中,使用者应该清晰的知道自己使用std::thread的代价(如效果,内存大小等),不能因为被后续的规定影响以往的代码。保证十年前的代码,在十年后编译还能表现一致的效果。

这个规则在 C++ 的设计决策中不断成为最关键的考虑。虚函数,多重继承,运行时的类型识别,异常处理和模板,都是与此有关的特性实例。

☁️以低成本提供高级抽象

(更高级的目标是0成本提供高级抽象)

如果像拒绝人们建议一个特性,0开销原则可能是所有规则中最锋利的一个。

但一切都是折中的,这正是设计的美妙所在。

下面是0开销原则的一个经典应用:这是一个时间单位转换问题的小例子。

以第一段代码的风格写更容易出错。

而第二段代码,更抽象,且不会付出格外的代价。两者生成的汇编代码可以达到一致的效果。

struct Duration {int millis_;
};void example() {auto d    = Duration{};// 毫秒d.millis_ = 100;// 秒auto timeout = 1;// 直接将秒在没*1000情况下,直接赋值到毫秒上d.millis_    = timeout;
}
#include <chrono>using namespace std::literals::chrono_literals;struct Duration {std::chrono::microseconds millis_;
};void example() {auto d    = Duration{};// 编译错误// d.millis_ = 100;// 效果一致,且表达更清晰d.millis_ = 100ms;// 或者写 `std::chrono::seconds(1)`// 但`1s`能更抽象,清晰,简洁auto timeout = 1s;// 由程序自动帮你做转换d.millis_    = timeout;
}

⭐END

🌟跋

ref:

现代C++软件架构:方法与实践 (豆瓣) (douban.com)

《现代C++软件架构》

1.6 C++的哲学思想

p7

C++语言的设计和演化 (豆瓣) (douban.com)

《C++语言的设计和演化》

4.5 低级程序设计支持规则

p117

(C++语言的设计和演化) C++的设计理念-CSDN博客

🌟交流方式

⭐交流方式⭐ |C/C++|算法|设计模式|软件架构-CSDN社区

关注我,学习更多C/C++,python,算法,软件工程,计算机知识

B站:

👨‍💻主页:天赐细莲 bilibili

http://www.yayakq.cn/news/25422/

相关文章:

  • 做网站和网页有什么区别房地产 东莞网站建设
  • 电子商务网站的推广方法微企点建好网站后要怎么做
  • 12123互联网服务平台谷歌优化培训
  • 企业网站网站建设电话网站建设 搜狐号
  • 403网站打开免费上海4a广告公司排名
  • 建筑类电商网站产品推广策略
  • 网站美工设计wordpress弹出提示框
  • 做长直播的房地产网站平面设计素材网站有哪些
  • 岳阳网站开发收费广东建设执业资格注册管理中心网站
  • 中国十大网站建设企业网站开发模板
  • 商贸行业网站建设温州市人才市场招聘网最新招聘
  • 海伦网站建设虚拟机网站建设与管理
  • 深圳哪里有做网站推广的网站建设属于广告费吗
  • 网站带后台模板wordpress推广模板
  • 上海源码网站建设公司网站设计
  • 德州做网站建设的公司建设工程类网站
  • 做设计必知网站网站开发者模式有什么用
  • 京华建设科技有限公司网站免费看黄金的软件
  • drupal 网站建设杭州聚翔网络有限公司
  • 共享的网站备案网站运作模式
  • 网站建设课程总结晋城建设公司网站
  • 查看网站空间大小做视频网站都需要什么软件下载
  • asp.net建网站江西网站开发企业
  • 南宁网络推广建站网站推广的方法有哪几种
  • 做招生网站做ppt模板网站
  • 小说网站首页模板百度收录网站但首页快照不更新
  • 公众号必备50个模板wordpress必做优化
  • 企业网站首页flashseo分析网站
  • 郑州做网站的大公司有哪些宁波城乡住房建设厅网站
  • 全能企业网站管理系统视频剪辑培训班的学费是多少