会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
troublemaker
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2024年2月28日
singleton
摘要: 今天设计一个类时,根据需求在网上学到了单例模式,重新梳理了private构造析构函数的作用。 构造函数和析构函数 private 私有成员只能在类域内被访问,不能在类域外进行访问。 无论将构造函数还是虚构函数设置为private,都可以防止外部创建栈对象,而只能由类的成员函数创建(实际上只能由类的静
阅读全文
posted @ 2024-02-28 14:01 trashwin
阅读(28)
评论(0)
推荐(0)
2024年2月25日
C++文件读取末尾空行问题
摘要: 起因是做gitlet读取文件内容时遇到的内容不匹配错误,后来发现是自己读取文件内容时均使用getline函数,写回时读入的每个字符串都加上换行符,导致文件末尾可能多出换行符。 于是改成了 vector<string> Blob::readContentsForBlob(const string& f
阅读全文
posted @ 2024-02-25 15:47 trashwin
阅读(235)
评论(0)
推荐(0)
2024年2月24日
无聊git
摘要: 鉴于git命令总是忘记,在此稍微记录一下 git命令 创建仓库 git init 初始化本地仓库 git clone url 克隆远程仓库 配置仓库 查看全部配置 git config --list 常用修改用户和邮箱 本仓库配置 git config user.name "your-usernam
阅读全文
posted @ 2024-02-24 00:21 trashwin
阅读(19)
评论(0)
推荐(0)
2024年2月8日
thread
摘要: std::thread thread() noexcept 创建一个空线程对象,什么也不做 template <class Fn, class… Args> explicit thread(Fn&& fn, Args&&… args) 创建线程,以 fn(args…) 作为线程函数执行 Fn 必须是
阅读全文
posted @ 2024-02-08 23:36 trashwin
阅读(44)
评论(0)
推荐(0)
右值
摘要: 右值 每个 C++ 表达式都有一个类型,属于值类别。 值类别是编译器在表达式计算期间创建、复制和移动临时对象时必须遵循的规则的基础。 C++17的值类别有: glvalue (generalized lvalue):表示对象身份的表达式,如变量名、函数名、类名等(包括具名右值引用,匿名右值引用比如s
阅读全文
posted @ 2024-02-08 23:35 trashwin
阅读(217)
评论(0)
推荐(0)
copy elision
摘要: copy elision是指编译器为了优化,将不需要的copy操作直接省略了。比如函数返回值的copy操作和构造函数的copy操作等。 例子如下 #include<iostream> using namespace std; class A{ public: A(){ cout<<"default
阅读全文
posted @ 2024-02-08 23:33 trashwin
阅读(38)
评论(0)
推荐(0)
2024年2月6日
c++ function
摘要: 可调用对象 函数 函数指针 函数类 lamda表达式 bind对象 函数类 重载了函数调用运算符()的类的对象,称为函数对象,也叫仿函数。 class callable { public: void operator() (int x) const { cout << "callable::oper
阅读全文
posted @ 2024-02-06 19:19 trashwin
阅读(144)
评论(0)
推荐(0)
2024年2月2日
webserver
摘要: 网络基础 各种协议的端口可以在/etc/services中查看,对应的protocol(IP头中的协议字段)在/etc/protocols。 常用检错方法: CRC 循环冗余校验,用于以太网帧 Checksum 检验和,双字节反码求和,回卷溢出(低位+1),最后取反,用于IP数据报(IP首部)、TC
阅读全文
posted @ 2024-02-02 22:23 trashwin
阅读(69)
评论(0)
推荐(0)
2024年1月30日
c++ cast
摘要: static_cast static_cast(expression) 用于非多态类型的低风险转换,如基类和派生类之间的转换,基本数据类型之间的转换(包括任何隐式转换),用户自定义转换,把void指针转换成目标类型的指针等。不进行运行时类型检查,只在编译时检查。 具体如下 用于类层次结构中基类和派生
阅读全文
posted @ 2024-01-30 13:25 trashwin
阅读(39)
评论(0)
推荐(0)
2024年1月28日
锁 条件变量 信号量
摘要: 锁-条件变量-信号量 用一个例子引入,用于输出嵌套深度不超过n的括号序列。 void Tproduce() { while (1) { mutex_lock(&lk); if (!CAN_PRODUCE) { cond_wait(&cv, &lk); } printf("("); count++;
阅读全文
posted @ 2024-01-28 16:02 trashwin
阅读(30)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告