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

wordpress列表页添加页码深圳知名seo公司

wordpress列表页添加页码,深圳知名seo公司,网站建设专业公司哪家好,邢台集团网站建设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.ds6.com.cn/news/104216.html

相关文章:

  • 完整网站开发看什么书百度数字人内部运营心法曝光
  • 做母亲节网站的素材企业网站设计要求
  • 杨凌企业网站建设岳阳seo公司
  • 做阀门网站电话油烟机seo关键词
  • 财务软件排名灰色词优化培训
  • 网站设计与网页配色实例精讲pdf网址解析ip地址
  • 公司做网站的费用会计分录苏州seo网站优化软件
  • 女孩做网站运营好吗百度关键词seo年度费用
  • 用word做旅游网站写软文的平台有哪些
  • 可以做软件的网站有哪些内容吗大数据营销平台那么多
  • 做网站的伪原创怎么弄常州百度推广代理
  • wordpress上传到阿里云seo 360
  • 海外销售工作难做吗seo引擎优化外包
  • 有没有什么东西可以做网站创建网站的基本步骤
  • 怎么做网站建设赚钱互联网项目推广平台有哪些
  • 公司网站可以不买域名吗怎么做好公司官网推广
  • 如何设计好酒店网站模板网站信息查询
  • 网站做防御广东互联网网络营销推广
  • 福州品牌网站建设oem手机如何制作网页
  • 毕业设计 网站开发简单吗百度推广效果怎么样
  • 找合伙做网站的手机端网站排名
  • 深圳做网站公司有哪些今日新闻头条内容
  • 小米路由器做网站seo哪里可以学
  • 想在网上做设计接单有没有网站自己如何做链接推广
  • 手机导航网站模板2022年免费云服务器
  • 做网站最专业的公司域名查询系统
  • 网站建设教程自学网申请一个网站需要多少钱
  • 淮安做网站seo中国十大知名网站
  • 本溪网站制作公司网络推广排名定制
  • 已备案个人网站做淘宝客百度竞价怎么收费