c++基础
月上纱窗
这个作者很懒,什么都没留下…
展开
-
使用libpng库读取rgb数据
libpng读取jpg图片原创 2023-01-14 00:09:39 · 300 阅读 · 0 评论 -
内联函数和宏定义的区别
用内联取代宏:1.内联函数在运行时可调试,而宏定义不可以;2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会;3.内联函数可以访问类的成员变量,宏定义则不能;4.在类中声明同时定义的成员函数,自动转化为内联函数。文章(一)内联函数与宏定义 在C中,常用预处理语句#define来代替一个函数定义。例如:原创 2014-04-14 23:29:47 · 1220 阅读 · 1 评论 -
c++ 什么时候调用拷贝构造/赋值,什么时候调用移动构造/赋值, std::move的作用?
有类型声明的时候,不管有没有等号都是构造,之前定义过用等号接收的就是赋值。接收的是右值就是移动构造或移动赋值,接收左值就是拷贝构造或拷贝赋值。跟编译器无关,当然还是要支持移动语义的(C++11),下面是举例:#include <stdio.h>#include <type_traits>struct A { int value; A() : value(0) {} A(int v) : value(v) {} A(const A& o...转载 2022-05-28 16:32:22 · 728 阅读 · 0 评论 -
stl的list、set、map删除方法
http://www.cppblog.com/Herbert/archive/2009/01/08/70479.html转载 2015-03-27 17:44:27 · 447 阅读 · 0 评论 -
utf8 gb2312转换
http://blog.csdn.net/gnixuyil/article/details/7688469原创 2023-01-12 17:18:52 · 115 阅读 · 0 评论 -
windows 串口读写操作
windows读写串口基本操作,以下用的vs2015 MFC编译:serialport.h#ifndef _SERIAL_20190304_H#define _SERIAL_20190304_H#include <string>#include <Windows.h>#include <stdint.h>class CSerialPort{public:CSerialPort();~CSerialPort();public:void原创 2020-11-29 14:39:04 · 2747 阅读 · 2 评论 -
获取进程/线程ID及常用函数
获取进程/线程ID#ifdef WIN32#include "windows.h"#else#include "unistd.h"#endif#ifdef WIN32 printf("pid is %d \n", GetCurrentProcessId()); printf("tid is %d \n", GetCurrentThreadId());#else printf("pid is %d \n", getpid()); printf("tid is %d \n", ge原创 2020-11-29 14:59:41 · 1264 阅读 · 1 评论 -
函数指针声明
成员函数和全局函数指针的声明方法:class Person{ void walk();}void run();成员函数指针声明:typedef void (Person::*func)();//全局函数指针声明:typedef void (*func)();原创 2022-02-17 14:36:22 · 1118 阅读 · 0 评论 -
模板编程总结
模板编程总结原创 2022-05-31 16:54:30 · 66 阅读 · 0 评论 -
float类型取值范围
float类型详解原创 2022-06-12 15:26:14 · 121 阅读 · 0 评论 -
C++ include ““和<>的区别
include对比原创 2023-01-12 17:06:19 · 62 阅读 · 0 评论 -
read write file
c++读写文件原创 2023-01-13 11:55:44 · 101 阅读 · 0 评论 -
md5sum源码 可多平台编译
md5sum的源码,可多平台编译原创 2022-07-27 23:09:59 · 509 阅读 · 0 评论 -
Thread Detach
thread detach原创 2022-06-30 22:33:59 · 337 阅读 · 0 评论 -
关于锁的区别
自旋锁:例如用atomic_flag来实现,它阻塞时会占用cpu。class spin_lock {private: atomic_flag flag;public: spin_lock() = default; spin_lock(const spin_lock&) = delete; spin_lock& operator=(const spin_lock) = delete; void lock() { //acquire ...原创 2022-04-27 18:00:19 · 133 阅读 · 0 评论 -
C++ 比较读取文件到内存的速度
当我有一个大文件要读到内存时,如何最快呢?下面的代码,对于BUFFSIZE的大小做了调整,并测试每次读取的时间,#define BUFFSIZE 1024 * 4int main(int argc, char *argv[]){ int count = 0; //读取的字节数 int readcnt = 0; //读取次数 char* buff = new char[BUFFSIZE]; QString filepath = "E:/tool/Qt/原创 2022-03-18 17:25:19 · 1148 阅读 · 0 评论 -
unsigned int 与 int运算,结果是什么类型
unsigned int 与 int相加:unsigned int val = 100;if (val - 150 > 0) printf("result is : unsigned int\n");else printf("result is : int\n");//结果:result is : unsigned int结果:value is 4294967246.所以 unsigned int与int作运算时,int会自动转化为unsigned in原创 2022-02-28 12:38:36 · 2672 阅读 · 0 评论