成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Cout和Printf,選擇哪個更好?

開發 前端
網上經常看到有人說,不建議使用cout,而應該更多使用printf,下面說說我的看法!個人看法是兩個都不建議用。

[[407763]]

本文轉載自微信公眾號「程序喵大人」,作者程序喵大人。轉載本文請聯系程序喵大人公眾號。

網上經常看到有人說,不建議使用cout,而應該更多使用printf,下面說說我的看法!

個人看法是兩個都不建議用。

下面說下我的理由:

cout方式效率低:每次cout << endl,都會刷新一遍輸出緩沖區。

cout方式線程不安全:

  1. std::cout << "Hello " << "World "

上面代碼其實等同于:

  1. std::operator<<(std::operator<<(std::cout, "Hello "), "World "); 

相當于調用了兩次operator<<,不保證調用兩次operator<<是線程安全的。

cout方式輸出復雜的格式很麻煩:比如我想輸出a + b = c:

  1. std::cout << a << " + " << b << " = " << c << std::endl; 

是不是很麻煩,那可以使用printf?

  1. printf("%d + %d = %d \n", a, b, c); 

但printf需要開發者填入變量格式,如果填寫有誤,有可能打印錯誤,也有可能crash:

  • 某個long long 型,使用%d打印會怎么樣?
  • 某個int32_t型,使用%lld打印會怎么樣?
  • 某個const char* 型,使用%d打印會怎么樣?
  • 某個float型,使用%d打印會怎么樣?

所以使用printf會給開發者帶來負擔,一定要在打印前確認變量的類型,并且一定要保證配置的輸出格式正確,我想大多數人可能都會在print某個變量前搜索過打印某個類型需要使用哪種格式吧?

那用啥呢?

cout配合format。

  1. std::cout << std::format("{} + {} = {} \n", a, b, c); 

使用format可以把上面的問題全都解決,C++20標準已經全面支持使用std::format,如果不打算上C++20。可以考慮使用spdlog。

而且平時做項目時基本都使用第三方log庫,沒有幾個調用這種裸接口的。

歐了,打完收工!

 

責任編輯:武曉燕 來源: 程序喵大人
相關推薦

2017-03-02 14:52:46

2019-07-27 09:40:56

MySQLPG數據庫

2022-09-02 08:28:44

AWS多云云提供商

2020-12-08 10:25:56

HibernateMyBatis數據庫

2016-08-05 14:23:15

系統

2023-09-05 07:32:22

vscode開源故障

2020-06-08 11:30:04

PGMySQL數據庫

2020-08-18 16:10:44

ManjaroArch LinuxLinux

2018-12-11 12:38:23

UbuntuMint發行版

2021-04-12 08:01:21

GridFlexbox網格

2022-06-28 15:16:48

人工智能開發語言程序員

2022-07-21 22:20:55

OzoneApache大數據

2022-05-22 07:32:36

RPython分析工具

2017-03-22 09:25:26

MySQLPostgreSQL對比

2021-05-31 08:57:31

Xcode與Andro

2024-10-21 18:40:16

2021-09-28 09:00:00

開發JavaScript存儲

2023-12-11 07:37:08

mongodb經緯度性能

2022-10-28 15:51:24

JavaScript開發Node.js

2018-08-09 18:27:03

編程語言JavaPython
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线 | 91视频网址| 成人黄色在线观看 | 国产亚洲高清视频 | 99在线免费视频 | 亚洲精品www | 国产精品日产欧美久久久久 | 久久久久久国产精品免费免费 | 午夜爽爽男女免费观看hd | 91午夜在线 | 亚洲高清视频一区 | 午夜精品一区二区三区在线观看 | 欧美福利三区 | 黄色大片网 | 日韩欧美一级片 | 国产黄色大片 | 国产综合精品 | 亚洲成人一区二区三区 | 超黄视频网站 | 国产精品一卡二卡三卡 | 亚洲成av人片在线观看无码 | 国产国产精品 | 久久夜夜 | 亚洲精品 在线播放 | 爱爱无遮挡 | 97成人精品| 日韩欧美天堂 | 欧美在线视频一区二区 | 久久久久久久久久久国产 | 成人在线播放网站 | 久久国产成人 | 中文字幕黄色大片 | 欧洲在线视频 | 久久精品97 | 亚洲国产精品久久久久婷婷老年 | 一区二区三区在线播放视频 | 成人三级视频在线观看 | 成人在线观看亚洲 | 国户精品久久久久久久久久久不卡 | 日韩在线播放网址 | 欧美激情精品久久久久 |