C/C++
PI2024
这个作者很懒,什么都没留下…
展开
-
对C++构造函数与析构函数以及成员的构造和析构顺序理解
对C++构造函数与析构函数以及成员的构造和析构顺序理解_c++ 成员变量析构顺序_xiaowenmu1的博客-CSDN博客转载 2023-08-08 11:04:23 · 116 阅读 · 0 评论 -
std::forward的神秘面纱
std::forward的神秘面纱原创 2022-08-02 09:58:51 · 210 阅读 · 0 评论 -
CreateProcess的命令行参数
最近使用CreateProcess创建rundll32.exe进程,发现并没有正常加载DLL,后来才发现是命令行参数传错了,CreateProcess并不是我想象的那样,网上找了一下,发现还有许多东西不是想的那么简单。下面的文字翻译自《INFO: Understanding CreateProcess and Command-line Arguments》创建32位进程时CreateProcess的行为案例1如果传递了ApplicationName参数,且CommandLine参数是NULL,那么A转载 2021-12-07 11:29:25 · 1746 阅读 · 0 评论 -
未初始化成员变量的值的问题
class TestUnInit{public: int get_c() { return c; } int get_v() { return v; }public: std::string s1; uint8_t c; uint16_t v; std::string s2;};int main(){ TestUnInit* p = new TestUnInit(); printf("%d %d\n", p->get_c(), p->get_v()); p-&g.原创 2021-07-02 14:52:10 · 673 阅读 · 0 评论 -
初探ifstream与回车换行及类型匹配等几个问题
转载:初探ifstream与回车换行及类型匹配等几个问题 - 大宝pku - 博客园 (cnblogs.com)#include <iostream>#include<fstream>using namespace std; /*本例: 1、练习ifstream、ofstream读写文件基本方法; 2、验证回车换行符号在文件读写中的状态和作用; 3、验证几种判断文件末尾的方法; 4、验证几种解决ifstream对读入类型不匹配数据的.转载 2021-04-26 10:14:03 · 1319 阅读 · 1 评论 -
filesystem::path
string() andgeneric_string()原创 2021-04-26 10:11:00 · 335 阅读 · 0 评论 -
关于 C++ 你应该更新的知识
转自:https://blog.csdn.net/valada/article/details/79910139内容简介到目前为止,C++ 仍然是计算机编程领域的经典语言之一,C++ 17 标准在2017上半年已经讨论确定。本期我们汇集了编程专家——祁宇(《深入应用 C++ 11》作者,C++ 开源社区 purecpp.org 创始人)的多年经验总结,并详细介绍了 C++ 17 最新标准中值得开发者关注的新特性和基本用法。本书内容C++14 实现编译期反射文/祁宇本文将通过分析 m转载 2020-10-21 15:59:27 · 236 阅读 · 0 评论 -
C++反射(Reflection)
库:boost.hana boost.PFRhttps://www.cnblogs.com/zengkefu/p/6724323.htmlAn Introduction to Reflection in C++Apr 13, 2017Stop me if you’ve heard this one before. You are working on a messaging middleware, a game engine, a UI library, or any ot...转载 2020-10-21 13:26:18 · 3206 阅读 · 0 评论 -
c++ 反射
转至:https://cloud.tencent.com/developer/article/1524775本文不讨论完整的C++反射技术,只讨论结构体 (struct)的字段 (field)反射,及其在序列化/反序列化代码生成上的应用。正文开始于§ 静态反射部分,其他部分都是铺垫,可以略读。打包后的代码可以通过 archived.zip下载,每个.cc文件上都有对应的编译、运行脚本,或者可以通过run_all.sh脚本运行所有代码。1. 背景很多人喜...转载 2020-06-10 11:13:27 · 4298 阅读 · 1 评论 -
[转] boost库之异常处理
当你面对上千万行的项目时,当看到系统输出了异常信息时,你是否想过,如果它能将文件名、行号等信息输出,该多好啊,曾经为此绞尽脑汁。 今天使用boost库,将轻松的解决这个问题。1、boost异常的基本用法先看看使用STL中的异常类的一般做法:// 使用STL定义自己的异常 class MyException : public std::exception...转载 2020-03-02 16:24:30 · 977 阅读 · 0 评论 -
记嵌入式linux平台下Boost.Asio中TCP套接字关闭的崩溃问题
参考:https://www.cnblogs.com/ruizhang3/p/6418269.html崩溃位置如下图:gdb bt堆栈如下图:通过分析调用堆栈,查看boost源码分析,源码调用顺序如下:按理说,在354行if (!descriptor_data->shutdown_)处不应该崩溃,但是实际就崩溃在这里,除非if需要访问的资源已经被修改或者破...原创 2019-12-25 14:04:31 · 947 阅读 · 0 评论 -
[转] 理解std::move和std::forward
本文转自:https://blog.csdn.net/f110300641/article/details/83477160std::movec++11中提供了std::move()来将左值转换为右值引用,从而方便的使用移动语义。move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存拷贝。c++中所有容器都实现了move语义,方便我们实现性...转载 2019-12-23 15:38:03 · 183 阅读 · 0 评论 -
[转] 静态库的PDB相关知识
本文转自:http://blog.sina.com.cn/s/blog_41299a9701018bs8.html今天遇到一个Crash,Crash在第三方库中,由于好奇,就看了一下。发现代码没有,我们只能看到头文件,只有别人的Crash Call Stack,连Dump文件也没有,所以只能手动模拟重现。 发现Crash的目标模块是A.dll它是我们自己的代码,但是Crash的第三方库是...转载 2019-11-22 09:29:17 · 411 阅读 · 0 评论 -
NDK 常用到的三个宏,精简JNI接口函数名称
http://www.verydemo.com/demo_c131_i4215.html1.Test.java:public native void test(); 2.Testjni.cpp#include #include #define LOG_TAG "Testjni.cpp"#define LOGE(...) __android_l原创 2013-03-27 14:04:13 · 1294 阅读 · 0 评论 -
is-a和has-a的区别
【一】如果你确定两件对象之间是is-a的关系,那么此时你应该使用继承;比如菱形、圆形和方形都是形状的一种,那么他们都应该从形状类继承而不是聚合。如果你确定两件对象之间是has-a的关系,那么此时你应该使用聚合;比如电脑是由显示器、CPU、硬盘等组成的,那么你应该把显示器、CPU、硬盘这些类聚合成电脑类,而不是从电脑类继承。原创 2015-07-29 16:06:11 · 463 阅读 · 0 评论 -
C++封装、继承、多态
原文出处 http://blog.csdn.net/ruyue_ruyue/article/details/8211809C++封装继承多态总结面向对象的三个基本特征面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!转载 2015-12-16 15:40:12 · 261 阅读 · 0 评论 -
基于RTP的H264视频数据打包解包类
原文:http://blog.csdn.net/dengzikun/article/details/5807694最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打包、解包的文档和代码。功夫不负有心人,找到不少有价值的文档和代码。参考这些资料,写了H264 RTP打包类、解包类,实现了单个NAL单元包和FU_A分片单元包。对于丢包处理,采用简单的策转载 2015-12-23 17:29:59 · 609 阅读 · 0 评论 -
vs2008无法解析外部符号问题的一种可能情况
在函数定义了并且也实现的情况下,编译连接的时候还是一直报无法解析外部符号,这种情况可能是命名空间的问题,检测出问题函数的所有参数和返回值是否在同一命名空间内...原创 2018-03-16 15:24:32 · 853 阅读 · 0 评论 -
从std::map查找数据时,不要用[],而要用find
用[]查找元素,如果不存在,则会默认新加一个元素原创 2019-08-02 17:24:13 · 1577 阅读 · 0 评论 -
多线程socket编程的注意事项
在socket编程中,如果有多个线程公用一个方法去发送数据时,注意对该方法的加锁保护,因为多线程容易造成数据包的破坏,可能引起连接的中断或者数据的破坏等未知情况!原创 2012-03-28 14:48:25 · 828 阅读 · 0 评论