C++ 内存对齐
Created|Updated|C++
|Word Count:5|Reading Time:1mins|Post Views:
C++ 内存对齐
Author: LDK
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2025-07-06
C++新标准
C++新标准 C++ 11 语法特性: auto decltype 返回类型后置(auto+decltype) 右值引用 列表初始化 移动语义(std::move) 万能引用(T&&) 智能指针(share_ptr; wake_ptr; unique_ptr) 范围for循环 委托构造函数 继承构造函数 final和override default 函数delete explicit constexpr 强类型枚举(enum class) 原始字符串字面量 基于范围的for循环 lambda表达式 内联命名空间 右>的优化 noexcept char32_t和char16_t 库特性: chrono库 thread库 std::function std::bind std::move std::forword:与万能引用配合使用 std::array std::to_string() std::tuple(元组) std::tie std::ref std::make_shared 无序容器: std::unordered_map std::unor...
2025-07-06
C++ string分割
string分割 方法一:使用find()和substr(). 用字符分割字符串: 1234567891011121314151617181920// 使用字符分割void Stringsplit(const string& str, const char split, vector<string>& res){ if (str == ""){ return }; //在字符串末尾也加入分隔符,方便截取最后一段 string strs = str + split; size_t pos = strs.find(split); // 若找不到内容则字符串搜索函数返回 npos while (pos != strs.npos) { string temp = strs.substr(0, pos); res.push_back(temp); //去掉已分割的字符串,在剩下的字符串中进行分...
2025-07-06
C++ 获取文件大小
获取文件大小 1234567891011121314151617181920#include <sys/stat.h>// 通过stat结构体 获得文件大小,单位字节size_t getFileSize(const char *fileName) { if (fileName == nullptr) { return 0; } // 这是一个存储文件(夹)信息的结构体,其中有文件大小和创建时间、访问时间、修改时间等 struct stat statbuf; // 提供文件名字符串,获得文件属性结构体 stat(fileName, &statbuf); // 获取文件大小 size_t filesize = statbuf.st_size; return filesize;}
2025-07-10
排序算法
排序算法 经典的排序算法总共有十种。分别是:冒泡、选择、插入、希尔、归并、快排、堆排、计数、桶排、基数。他们都是内部排序。 关于内部排序和外部排序: 内部排序:待排序列数据记录完全存放在内存中 外部排序:排序的数据很大,一次不能容纳全部的排序记录,在排序过程中还需要访问外部存储器 冒泡排序
2025-07-06
Linux多进程编程
Linux多进程 基本函数 fork()函数 用于创建一个进程,所创建的进程复制父进程的代码段/数据段/BSS段/堆/栈等所有用户空间信息;在内核中操作系统重新为其申请了一个PCB,并使用父进程的PCB进行初始化。 1pid_t fork(); // pid_t实际上时int类型 fork时可以看作==父进程在fork执行的位置进行了一次分裂,分裂出一个子进程==。父进程从fork的返回值得到子进程的pid,子进程在fork位置得到返回值0,并且从fork的下一句开始执行。 使用实例: 12345678910111213141516171819int main(){ pid_t fpid; //fpid表示fork函数返回的值 int count = 0; fpid = fork(); if (fpid < 0) cout << "error in fork!" << endl; else if (fpid == 0) { cout <<...
2025-07-06
C++ Linux 系统调用
前置知识:[[标准IO]] 详细系统调用请查阅man手册 open() 打开文件 123456789101112131415# include <unistd.h> // close函数# include <fcntl.> // open函数# include <stdio.h>int main(int argc, char* argv[]){ int fd = open("./dict.txt",O_RDONLY); // 以只读模式打开dict.txt,参数里面是字母O,不是数字0 // int fd = open("./dict.txt",O_RDONLY|O_CREAT, 0644); // 创建并打开文件dict.txt,设置权限为:rw-r--r-- if(fd==-1) { printf("file open error!"); } close(fd); // 关闭文件描述符 return 0;} close() ...
Contents
Recent Posts