摘要:
匿名命名空间通常用于取代老式的static函数,更加的简洁,目的明确。 老式的static关键字的语义有: 在某个头文件内把函数或数据声明为static则只能在此头文件与对应的源文件用这个函数,这是C语言原有的。 在C++中的static可以用在声明类的成员或成员函数中,表面所有的实例共享这个成员。 阅读全文
摘要:
在C++primer p618中介绍了递归实现的版本,主要的形式: template<typname ARGS> void print(const T&t,const ARGS&... rest) { print(t); print(t,rest...); } template<typename T 阅读全文
摘要:
看了cpp reference的文档还是一头雾水,以致于写不出我能够深刻理解的样例与解释。 简要的说就是编译器的优化还有处理器的并行执行可能会导致指令的乱序执行,在单线程下这是可以的,然而在多线程下的顺序逻辑处理可能就会出现问题。 老老实实的用mutex与默认的coherent consistenc 阅读全文
摘要:
inline在c++的两个作用 曾经我很疑惑为什么定义在头文件且类外的成员函数为什么要加inline,现在找到了答案。 参考:https://stackoverflow.com/questions/9734175/why-are-class-member-functions-inlined?nore 阅读全文
摘要:
模板实参推断与bind,ref总结 template <typename T> func(T arg) 模板形参没有任何引用,会忽略顶层const,比如传入const int,则T的参数仍为int 不会忽略底层const,比如传入const int* const,则T的参数为const int* 忽 阅读全文
摘要:
关于在Wireshark中注意到TCP传输长度大于MSS的现象 在进行TTCP传输的实验复习TCP的过程中,注意到某些报文段的数据长度要大于MSS。 在https://osqa-ask.wireshark.org/questions/24699/tcp-packet-length-was-much- 阅读全文
摘要:
阻塞IO的阻塞实验 阻塞实验参考陈硕先生的视频。 这里的阻塞并不是调用read之后没有写的阻塞,然而实际上也是,但这是发生在网络中的,形成了一个互锁。 我们假设有一个阻塞实现的echo服务器和客户端,应用层面的发送和接受缓存都是4KB。服务器的代码逻辑是每收到4KB就回送,客户端的代码逻辑是完整的发 阅读全文
摘要:
结构体对齐(64位Linux) 有关结构体对齐最关键的是要理清三个数值: 自身对齐值:变量的类型原有的默认对齐值,比如int是4,double是8,char是1 指定对齐值:通过#pragma pack或者attribute语法来显式地i指定对齐值 有效对齐值:Min(指定对齐值,自身对齐值) 结构 阅读全文
摘要:
初赛题目是并行BFS,从核上的实现我并没有采用,因为更慢了。。。 注释写的比较详细了,具体实现在graphloadbalance文件里,供各位参考。 github地址: https://github.com/manch1n/cpc2020preliminary 阅读全文
摘要:
考个研真的把很多东西都忘光了,,, #include <string_view> #include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; class Sampl 阅读全文