菜鸟笔记
提升您的技术认知

C++ 笔记

std::next、std::prev、std::advance迭代器使用

1. std::next 在 C++ 中,std::next函数用于获取迭代器指向的下一个位置的迭代器。默认情况下,std::next的步进是正数,即向前移动。如果使用负数步进,即向后移动。 #include <iostream>...

赞(0)菜鸟菜鸟阅读(185)

google::ParseCommandLineFlags 介绍

google::ParseCommandLineFlags 是 Google C++ 命令行参数解析库(gflags) 中的核心函数,用于解析程序启动时传入的命令行参数(如 --port=8080、--help 等),并自动将值赋给对应的全...

赞(0)菜鸟菜鸟阅读(260)

为什么协程能让程序不再卡顿?——从同步、异步到 C++ 实战

1 引言 在图形界面(GUI)应用中,“卡顿”几乎是所有开发者都会遇到的老问题。一次复杂的计算、一次网络请求、一次磁盘读取,甚至一次大循环,都可能让界面在几百毫秒内完全失去响应,用户看到的就是——窗口半透明、按钮点不动、程序像“假死”了一样...

赞(0)菜鸟菜鸟阅读(315)

C++ gflags库使用说明

0. gflags 是什么? gflags 是 google 开源的用于处理命令行参数的项目。使用c++开发,具备python接口。 项目地址:https://github.com/gflags/gflags 1. gflags 安装编译 ...

赞(0)菜鸟菜鸟阅读(3108)

c++类和对象

1.类的定义 1.1类定义格式 • class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省 略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或 者成员函数。 •...

赞(0)菜鸟菜鸟阅读(3020)

匿名namespace解决C++中重复定义的问题

C++中多编译单元导致重复定义(multi definition)的链接问题总结: C++中有由于模版分离编译等问题,导致尝尝需要在头文件加入变量定义或者函数定义的代码,从而在链接多编译单元时导致multi-definition重复定义的问...

赞(0)菜鸟菜鸟阅读(2949)

C++11的占位符std::placeholders

std::placeholders C++11的新特性:占位符std::placeholders,其定义如下: namespace placeholders { extern /* unspecified */ _1; extern /* ...

赞(0)菜鸟菜鸟阅读(1022)

c++ std::bind函数绑定

bind需引用头文件 # include<functional> bind使用场景: 将函数转为另一个函数的入参(比如回调函数) 减少函数参数 延迟调用 用法: std::placeholders用于占位,即当真正调用时才会传入...

赞(0)菜鸟菜鸟阅读(924)

std::bind 把引用会改成拷贝

在 C++ 中,std::bind 是一个非常有用的工具,它允许你绑定一个函数的参数,并可以延迟这个函数的执行。当你使用 std::bind 时,你可以指定参数是按值传递还是按引用传递。 按值传递 当你使用 std::bind 并且不指定引...

赞(0)菜鸟菜鸟阅读(977)