variant std

time_t now=time(NULL); std::cout<<ctime(&another_time);tm* ltm = localtime(&now);

#include <iostream> #include <iomanip> #include <ctime> #include<windows.h> int main() { time_t now = time(NULL); tm* ltm = localtime(&now); std::cout ......
time another_time now amp localtime

慎用std::move

编译arm版本成功, 空跑正常, 跑业务崩溃在了如下函数: deliverPacket_internal_(std::move(video_packet), false, video_packet->big) x86机器运行正常. 怀疑点: 1、依赖库问题? 所有的lib都copy到了运行环境, 大 ......
move std

std::cout 的各种输出格式

在C++中,setf()是流操作符中的一个函数,用于设置格式化标志。它有多种参数,每个参数都代表着一种特定的标志。下面是一些常见的参数及其含义: ios::scientific: 使用科学计数法表示浮点数。 ios::fixed: 使用固定点表示法表示浮点数。 ios::left: 左对齐输出。 i ......
格式 cout std

g_variant_get

与标准C的null结尾的字符串进行转换。当遇到's','o','g'格式化字符串时,g_variant_new()获取(const gchar* )并且进行拷贝。NULL是一个无效的字符串;如果是'o'和'g'字符被使用,必须注意确保传递的字符串分别是有效的D-Bus对象路径或D-Bus类型签名。 ......
g_variant_get variant get

g_variant_new G_TP_L G_TP_R

g_variant_new G_TP_L G_TP_R g_variant_new G_TP_L G_TP_R g_variant_new G_TP_L G_TP_R 我觉得,首先你需要解构元组: GVariant *inner; g_variant_get (ret, "(v)", &inner) ......
g_variant_new variant G_TP_L G_TP_R TP

【解题报告?】14 Understand Variants

整个活。洛谷愚人节比赛 2023 的 F 题。这题一看就知道是 WYXkk 出的,高浓度解密元素( 洛谷链接 入口 ~~Understand 和 14 Minesweeper Variants 都看见过,但是都没自己玩过(~~ 可以先自己玩玩,挺好玩的( 可以说是演绎法的练习?( Understan ......
Understand Variants 报告

关于std::vector<bool>

一、引子 std::vector<bool> 经常应用在leetcode刷题中。 但是effective stl 不建议使用std::vector<bool>,原因是: 严格意义上讲,vector<bool> 并不是一个 STL 容器; vector<bool> 底层存储的并不是 bool 类型值。 ......
vector bool std

【segmentation fault】std::string析构崩溃

今天写了一个小工具,运行时发生segmentation fault,现象如下 第一步:review崩溃附近代码,产生疑惑,崩溃的地方居然是变量定义的地方 std::string accessToken; 崩溃在这个地方,我直接懵了,只是变量定义为啥会报错,没有任何思路,打算单步调试。 第二步:单步调 ......
segmentation string fault std

c++ std::string_view

std::string_view系C++17标准发布后新增的内容。 C++17中我们可以使用std::string_view来获取一个字符串的视图,字符串视图并不真正的创建或者拷贝字符串,而只是拥有一个字符串的查看功能。std::string_view比std::string的性能要高很多,因为每个 ......
string_view string view std

c++ std::variant

std::variant 是c++17 引入的一个类型,其作用类似于C语言中的Union,但是比Union 的功能强大的多。C语言中一个联合体Union 可以储存多种类型数据,但缺点有很多。比如:1 没有可用的方法来判断Union中真实储存的类型,获取值时也是内存拷贝的结果,可能会存在问题。这就只能 ......
variant std

std::minmax_element的简单用法

获取一个数组中的最大值和最小值,通过匿名函数声明自定义比较策略。 #include <iostream> #include <vector> #include <algorithm> #include <string> #define BUFSIZE 6 using namespace std; t ......
minmax_element element minmax std

c++ std::package_task,task.get_future()

#include <iostream> #include <future> #include <thread> int countdown(int from,int to) { for(int i=from;i!=to;--i) { std::cout<<i<<std::endl; std::thi ......
task package_task get_future package future

C++17:新特性之std::optional

考虑一个问题,C++如何实现返回多个值?如何标记其中一个bool返回值用于记录函数运行状态? 我们可以通过pair或tuple实现,有以下代码: #include <iostream> #include <string> using namespace std; struct ss { string ......
optional 特性 std 17

C++11新特性之std::function和bind绑定器

在C++中,存在可调用对象这一个概念,可调用对象有以下几种定义: (1).是一个函数指针 (2).是一个具有operator()成员函数的类对象(仿函数) (3).是一个可被转换为函数指针的类对象 (4).是一个类成员(函数指针) 一、可调用对象包装器 std::function std::func ......
function 特性 bind std 11

cpp get exact time and precision reach nanoseconds via std::chrono::high_resolution_clock

#include <chrono> #include <ctime> #include <iomapip> #include <iostream> #include <sstream> std::string get_time_now() { std::chrono::time_point<std: ......

std::forward完美转发

std::forward被称为完美转发,它的作用是保持原来的值属性不变。 啥意思呢?通俗的讲就是,如果原来的值是左值,经std::forward处理后该值还是左值;如果原来的值是右值,经std::forward处理后它还是右值。 简单样例如下: #include <iostream> templat ......
forward std

c++ 多线程编程std::thread, std::shared_mutex, std::unique_lock

在C++11新标准中,可以简单通过使用thread库,来管理多线程,使用时需要#include <thread>头文件。 简单用例如下: 1 std::thread(Simple_func); 2 std::thread t(Simple_func); 3 t.detach(); 第一行是直接启动一 ......
std 线程 shared_mutex unique_lock shared

C++11 std::function及std::bind用法

类似于c语言中的函数指针,C++11中,提供了一个通用的描述方法,就是std::function。 std::function可以hold住任何可以通过“()”来调用的对象,包括: 普通函数 成员函数 lambda std::bind std::function的语法格式为: template <c ......
std function bind 11

C++标准库中的std::nth_leement

std中的nth_element 默认求的是数组中第 n 小的元素 可以通过参数传入,求第 n 大的元素 示例代码 #include <algorithm> #include <iostream> #include <vector> using namespace std; int main(int ......
nth_leement leement 标准 std nth

c++11 std::thread 线程实例在退出后管理线程调用join()后再新建线程将可能会产生相同std::thread::id的实例

[03-28 16:52:54.372] [info] [vthread.cpp:92 operator()()] create new thread,id:4,tid:7f5cbb7fd640,inroduce:test vthread 003[03-28 16:52:54.372] [info] ......
线程 实例 thread std join

C++17:实现动态类型std::any

1、通过void*或继承实现动态类型 struct A { }; struct B { }; struct C :A { }; struct D :A { }; int main() { //万能指针void* void* p = new A(); p = new B(); p = new vect ......
类型 动态 std any 17

C++11:实现std::tuple

1、实现基础功能 #include <iostream> #include <string> using namespace std; template<typename... Ty> struct Tuple; template<> struct Tuple<> {}; /* template<t ......
tuple std 11

在大型项目中为什么不能用using namespace std;

在大型项目中,使用using namespace std;会存在以下几个问题: 命名冲突:使用using namespace std;会将所有std命名空间下的名称都引入当前命名空间,可能会与当前项目中的其他标识符冲突,导致编译错误。 可读性差:如果在项目中使用大量的命名空间,代码可能会变得难以阅读 ......
namespace 项目 using std

C++中std::function常见用法

C++标准库中的std::function是一个通用的函数封装,可以用来存储、复制、调用任何可调用对象(函数、函数指针、成员函数指针、lambda表达式等)。以下是std::function的一些常见用法: 定义std::function类型std::function类型的定义类似于函数指针类型,例 ......
function 常见 std

std::vector::clear()方法真的会清除元素吗?

测试 编译这样一段代码 int main() { std::vector<size_t> vec{1,2,3}; std::cout << vec.data() << std::endl; std::cout << *vec.data() << std::endl; std::cout << vec ......
元素 方法 vector clear std

原生数组、std::array、std::vector访问性能对比

先上结论: std::vector的at()操作最慢。其时间约达其他访问方式的2~4倍。原生数组和std::vector的[]访问较快。std::array的访问速度介于中间,约是原生的2倍。 具体测试方法: 主要测试读取和赋值访问,结果中: t1 - std::array的at()时间 t2 - ......
数组 std 性能 vector array

浅谈 C++ 模板 & 泛化 (妈妈再也不用担心我不会用 std::sort 了)

基础复习 先上个对 int 类型数组的插入排序: void insertionSort_01(int* seq, int firstIndex, int lastIndex) { for (int j = firstIndex + 1; j <= lastIndex; ++j) { int key ......
不用 模板 妈妈 sort amp
共207篇  :7/7页 首页上一页7下一页尾页