相关文章
阻塞IO、非阻塞IO的区别
1.类与类之间的关系:依赖,实现,泛化(继承),关联,组合,聚合。 1)依赖(虚线):一个类是 另一个类的函数参数 或者 函数返回值。 2&#x…
建站知识
2024/11/24 23:25:55
C++之 volatile
1. 介绍
像const一样,volatile是一个类型修饰符。volatile修饰的数据,编译器不可对其进行执行期寄存于寄存器的优化。这种特性,是为了满足多线程同步、中断、硬件编程等特殊需要。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化&…
建站知识
2024/11/24 23:25:20
Language Mechanics On stacks And Pointers--golang
golang堆栈和指针的语言机制
前言
本节专注于:栈和指针。
介绍
当使用指针不正确时,可能会产生bug或性能问题。特别是当写多线程软件时。所以很多编程语言试图从开发者的角度去隐藏指针。然而,如果你想使用go去编程,你没有任何…
建站知识
2024/11/24 23:28:33
C++ 之 constexpr And shared_ptr
简介
constexpr : 指定变量或函数的值可以出现在常量表达式中。
constexpr 解释
constexpr 标识符声明可以在编译时 评估变量或函数的值。然后可以在只允许编译时的常量表达式的地方 使用这样的变量或函数(只要提供适当的函数参数)。一个constexpr说明符在对象声明时使用&am…
建站知识
2024/11/24 23:49:51
C++之 mutable
mutable 关键字 1. 在C中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中,甚至结构体变量或者类对象为const,其mutable成员也可以被修改。
struct ST
…
建站知识
2024/11/24 23:25:54
C++之 lower_bound And upper_bound And insert
1. 代码
#include <set>
#include <iostream>
int main()
{std::set<int> c {1, 2, 3, 4, 5, 6, 7, 8, 9};auto item c.lower_bound(4);for(; item ! c.end(); item ){std::cout << *item << " ";}std::cout<<"\n"…
建站知识
2024/11/15 15:19:04
openssl C语言编码实现rsa加密
首先介绍下命令台下openssl工具的简单使用: 1)生成一个密钥: openssl genrsa -out test.key 1024 这里-out指定生成文件的。需要注意的是这个文件包含了公钥和密钥两部分,也就是说这个文件即可用来加密也可以用来解密。后面的1024是生成密钥的长度。 2…
建站知识
2024/11/14 15:11:07
C++ typedef typename 作用
C typedef typename 作用
* C的一些语法让人看着费解,其中就有:typedef typename std::vector<T>::size_type size_type;vector::size_type
* 明白上述语法,首先要先看清vector::size_type的意思。参考《STL源码剖析》不难发现,其实…
建站知识
2024/11/23 8:33:56