自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 【无标题】

为了制作高效且聚焦的FlashCard内容,我将根据你提供的文本,提炼关键概念,并以清晰的方式呈现这些概念和相关的数学公式。

2023-12-05 17:46:21 351 1

原创 My QA call_once

第一个到达call_once的线程会执行指定的函数,并阻塞其他线程,直到该函数执行完毕。这样,在多线程环境中,指定的函数只会被一个线程执行一次,其他线程会等待该函数执行完成。A:std::call_once是一个C++标准库中用于进行线程安全的延迟初始化的函数。A:如果call_once执行的函数抛出了异常,那么下一个到达call_once的线程会再次尝试执行该函数,直到成功。A:当多个线程需要对一个共享资源进行初始化,但你想确保初始化函数只执行一次时,std::call_once非常有用。

2023-10-25 16:39:08 48 1

原创 My QA sleep

A: 是一个命名空间,使得时间表示更可读,如5s或300ms。

2023-10-25 15:29:53 35 1

原创 【无标题】My QA std::any

在编译时就能知道可能的类型,因此类型检查更为严格,性能通常更好。类型用于持有任何类型的变量,并提供类型安全检查与安全访问。不能提供类型信息,需要手动进行类型转换,不安全。对象转换为不正确的类型时,会抛出。: 你应该如何避免不必要的对象拷贝?对象,以避免不必要的拷贝和移动。只能保存一个预定类型或者为空。更加灵活但可能牺牲了一些性能。: 如何在不拷贝的情况下构造。只能持有预定义的几种类型。是什么,以及它是如何解决。可避免不必要的对象拷贝。: C++17 添加的。进行类型比较,然后用。可以持有任意类型,而。

2023-10-25 10:54:07 30 1

原创 chapter8-4-对元组使用函数

C++11中,STL添加了std::tuple,这种类型可以用来将多个不同类型的值捆绑在一起。元组这种类型已经存在与很多编程语言中,本书的一些章节已经在使用这种类型,这种类型的用途很广泛。不过,我们有时会将一些值捆绑在一个元组中,然后我们需要调用函数来获取其中每一个元素。对于元素的解包的代码看起来非常的冗长(并且易于出错)。。本节中,你将了解如何使用一种优雅地方式对元组进行打包和解包。调用函数时,你无需对元组特别地了解。

2023-08-11 14:05:42 33 1

原创 chapter8-1-转换不同的时间单位——std::ratio

C++11之后,STL具有了很多用来测量和显示时间的新类型和函数。STL这部分内容放在命名空间中。本节我们将关注测量时间,以及如何对两种不同的时间单位进行转换,比如:秒到毫秒和微秒的转换。STL已经提供了现成的工具,我们可以自定义时间单位,并且可以无缝的在不同的时间单位间进行转换。

2023-08-11 13:24:26 74 1

原创 chapter7-10-使用特定代码段将输出重定向到文件

std::cout为我们提供了一种非常方便的打印方式,使用起来也十分方便,易于扩展,并可全局访问。即使我们想打印对应的信息时,比如错误信息,我们可以使用错误输出std::cerr进行输出,其和cout的用法一样,只不过一个从标准通道进行输出,另一个从错误通道进行输出。当我们要打印比较复杂的日志信息时。比如,要将函数的输出重定向到一个文件中,或者将函数的打印输出处于静默状态,而不需要对函数进行任何修改。或许这个函数为一个库函数,我们没有办法看到其源码。

2023-06-06 14:23:14 62

原创 chapter7-6-格式化输出

很多情况下,仅打印字符串和数字是不够的。数字通常都以十进制进行打印,有时我们需要使用十六进制或八进制进行打印。并且在打印十六进制的时候,我们希望看到以0x为前缀的十六进制的数字,但有时却不希望看到这个前缀。当对浮点数进行打印的时候,也需要注意很多。以何种精度进行打印?要将数中的所有内容进行打印吗?或者是如何打印科学计数法样式的数?除了数值表示方面的问题外,还需要规范我们打印的格式。有时我们要以表格的方式进行打印,以确保打印数据的可读性。这所有的一切都与输出流有关,对输入流的解析也十分重要。

2023-06-06 14:15:45 34

原创 chapter7-5-计算文件中的单词数量

我们在读取一个文件的时候,也想知道这个文件中包含的单词数量。我们定义的单词是位于两个空格之间的字符组合。那要如何进行统计呢?根据对单词的定义, 我们可以统计空格的数量。例如句子,这里有五个空格,所以说这句话有六个单词。。这句中有很多不必要的空格、制表符和换行符。本书的其他章节中,我们已经了解如何将多余空格从字符串中去掉。所以,可以对字符串进行预处理,将不必要的空格都去掉。这样做的确可行,不过我们有更加简单的方法。

2023-06-06 14:13:27 29

原创 chapter7-4-从用户的输入读取数值

本书中大多数例程的输入都是从文件或标准输入中获得。这次我们重点来了解一下读取,以及当遇到一些有问题的流时,不能直接终止程序,而是要做一些错误处理的工作。本节只会从用户输入中读取,知道如何读取后,将了解如何从其他的流中读取数据。用户输入通常通过std::cin,其为最基础的输入流对象,类似这样的类还有ifstream和。

2023-06-06 14:10:48 64

原创 chapter7-3-无需构造获取std::string

类是一个十分有用的类,因为其对字符串的处理很方便。其有一个缺陷,当我们想要根据一个字符串获取其子字符串时,我们需要传入一个指针和一个长度变量,两个迭代器或一段拷贝的子字符串。我在之前的章节也这样使用过,消除字符串前后的空格的最后,使用的是拷贝的方式获得前后无空格的字符串。当我们想要传递一个字符串或一个子字符串到一个不支持的库中时,需要提供裸指针,这样的用法就回退到C的时代。与子字符串问题一样,裸指针不携带字符串长度信息。这样的话就需要将指针和字符串长度进行捆绑。另一个十分简单的方式就是使用。

2023-06-06 14:09:27 40

原创 chapter7-1-创建、连接和转换字符串

熟悉C++的“老人”们对一定不会陌生。在处理C风格的字符串时,会感觉冗余和痛苦,特别是在于解析、连接和复制这些字符串的时候,而使用确实一种简单的安全的方法。这样,很多情况下的开销就能降的很低。也随着标准的更新添加了新的特性。C++17中添加了一个全新的类——。本节我们将在C++17下感受一下这些新特性(将在其他节中使用新类,来连接多个字符串)。

2023-06-06 14:08:29 28

原创 chapter7-2-消除字符串开始和结束处的空格

应用从用户端获取到的输入,经常会有很多不必要的空格存在。之前的章节中,将单词间多余的空格进行移除。现在让我们来看看,被空格包围的字符串应该怎么去移除多余的空格。具有很多不错的辅助函数能完成这项工作。Note:这节看完后,下节也别错过。将会在下节看到我们如何使用类来避免不必要的拷贝或数据修改。

2023-06-06 14:08:05 64

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除