收藏本版 |訂閲

C/C++论坛 今日: 0|主題: 361|排名: 47 

  • 【C++】多线程
    前言 实现多线程(win32 API、pthread、std::thread)、线程同步(互斥量、原子变量、读写锁、条件变量、线程局部存储)、如何调试。 多线程 线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并 ...
    091 段总 发表于 2026-1-9 C/C++论坛
  • c++中std::tuple、std::pair 、std::tie使用详解
    目录基本概念1.std::pair- 二元组基本用法特点应用场景2.std::tuple- 多元组基本用法特点应用场景3.std::tie- 元组绑定(解包工具)基本用法特点应用场景4. C++17 结构化绑定 (Structured Bindings)5、总结对比表6、最佳实践建议核心应用场景1. 从函数返回多个值2. 作为关联容器的键 (Key)3. 函数参数的打包与转发4. 算法中 ...
    051 哈小强 发表于 2026-1-8 教程
  • C++特有的bool变量使用
    目录C++中的bool类型bool变量的声明与初始化bool与整型的区别bool在条件表达式中的使用bool与逻辑运算符bool类型转换boolalpha操纵符C++中的bool类型 在C++中,bool是一种基本数据类型,专门用于表示布尔值(真或假)。它是C++语言特有的布尔类型,与C语言中使用整数模拟布尔值的方式不同。 bool变量的声明与初始化 C++中声 ...
    088 快乐小兵 发表于 2026-1-8 教程
  • C++随机打乱函数的项目实践
    目录一、Fisher-Yates洗牌算法核心原理二、std::random_shuffle简化实现与缺陷分析简化源码(核心逻辑)原理层面的致命缺陷三、std::shuffle的现代改进与实现简化源码(核心逻辑)原理层面的关键改进四、随机数生成器工作原理URBG核心组件分布对象的数学转换五、性能与随机性对比六、工程实践建议总结一、Fisher-Yates洗牌 ...
    068 百事都可乐 发表于 2026-1-8 教程
  • c++中new操作符的具体使用
    目录1. 基本用法1.1 分配单个对象1.2 分配数组2.new与malloc的区别 (面试常考)3. 内存分配失败的处理3.1 标准行为(抛出异常)3.2 不抛出异常(std::nothrow)4. 进阶:Placement New (定位 new)5. 常见陷阱:内存泄漏 (Memory Leak)6. 现代 C++ 最佳实践 (C++11 及以后)6.1std::unique_ptr(独占所有权)6.2std::shared_ptr( ...
    078 深渊 发表于 2026-1-8 教程
  • 在C++中正确处理日期字符串排序的方法
    目录第一部分:“自定义盒子”——Date结构体第二部分:“日历规则”——自定义比较器第三部分:“实战演练”——结合sort与“规则”第四部分:“X光透 视”——亲眼目睹“规则”被调用“X光”实战(基于d ...
    074 陶树林 发表于 2026-1-8 教程
  • C++中的指针常量、常量指针与常量指针常量详解
    目录什么是const关键字?1. 指针常量(Pointer Constant)声明语法代码示例特点总结2. 常量指针(Pointer to Constant)声明语法代码示例特点总结3. 常量指针常量(Constant Pointer to Constant)声明语法代码示例特点总结快速记忆技巧方法一:看const相对于*的位置口诀:“左定值,右定向,两边定都定”方法二 ...
    071 摯愛篤深 发表于 2026-1-8 教程
  • C++中指针变量的使用指南
    目录1. 基本概念指针的定义和声明2. 指针的基本操作3. 指针类型空指针悬空指针(野指针)4. 指针运算5. 动态内存分配6. 多级指针7. 指针和函数8. 指针和数组9. const 和指针10. 智能指针(C++11及以上)指针是C++中的一个核心概念,它存储的是内存地址,而不是实际的值。理解指针对于掌握C++编程至关重要。 1. 基本概念 指 ...
    058 白色海韵 发表于 2026-1-7 教程
  • C++特殊类设计与类型转换详细代码示例
    目录常见的特殊类的设计1.请设计一个类,不能被拷贝2.请设计一个类,只能在堆上创建对象3.请设计一个类,只能在栈上创建对象4. 请设计一个类,不能被继承5.请设计一个类,只能创建一个对象(单例模式)设计模式:单例模式:C++中的类型转换1.C语言中的类型转换2.为什么C++需要四种类型转换3.C++强制类型转换3.1 stacit_cast ...
    068 心里住着一个瘦子的胖子 发表于 2026-1-7 教程
  • C++ vector使用以及底层核心剖析
    目录一、vector 基础使用1. 头文件与初始化2. 三种遍历方式3. 插入与删除4. 二维 vector(二维数组)5. 实用案例:杨辉三角二、vector 核心接口对比与细节1. reserve:仅扩容,不初始化2. resize:改变元素个数,按需初始化3. 不支持重载 <<和>>三、迭代器失效1. 扩容导致的迭代器失效(野指针)2. 插入 / 删除导致的迭代器 ...
    067 无奈无赖 发表于 2026-1-7 教程
  • C++实现文本与二进制文件读写操作的示例
    目录一、文件操作核心类二、文本文件操作1. 写入文本文件2. 读取文本文件三、二进制文件操作1. 写入二进制数据2. 读取二进制数据四、文件打开模式详解五、错误处理机制六、最佳实践与性能优化1. RAII管理资源2. 高效文件复制3. C++17文件系统操作七、应用案例:日志系统在C++开发中,文件操作是必备技能之一。本文将全面解 ...
    038 纹竹 发表于 2026-1-7 教程
  • C++ 中 operator() 重载与最佳实践
    目录C++ 中 operator() 重载详解1. operator() 重载基础概念1.1 函数对象定义1.2 基础示例2. 状态保持的函数对象2.1 计数器实现2.2 累加器实现3. 比较器函数对象3.1 字符串长度比较器3.2 数值比较器4. 算法库中的应用4.1 自定义谓词函数对象4.2 变换函数对象5. 函数对象容器5.1 操作器容器5.2 条件过滤器6. 高级应用场景6.1 ...
    089 三小隻 发表于 2026-1-7 教程
  • C++读取JSON文件的三种方式小结(jsoncpp、nlohmann/json和RapidJSON)
    目录为什么需要JSON库?1. jsoncpp - 经典稳定的选择安装与配置基本使用方法2. nlohmann/json - 现代易用的选择安装与配置基本使用方法编译命令3. RapidJSON - 高性能的选择安装与配置基本使用方法编译命令三种库的详细对比性能对比API易用性对比在现代C++开发中,JSON(JavaScript Object Notation)已成为最流行的数据交 ...
    093 猪八戒减肥了 发表于 2026-1-7 教程
  • 三种在C++中高效获取日志文件最后10行的方法
    目录准备工作:创建一个测试文件testlog.txt第一部分:方法 1 (“天真”法) —— 读取所有行第二部分:方法 2 (“折中”法) —— 循环缓冲区第三部分:方法 3 (“专业”法) ——seekg反向读取第四部分:“X光透 视”——亲眼目睹“ ...
    046 大风吹浪 发表于 2026-1-7 教程
  • C++动态数组两种实现方式详解(std::vector vs malloc)
    目录1. std::vector:现代C++的推荐方式1.1 基本语法与参数1.2 如何访问和操作元素1.3 完整示例2. malloc:C风格的动态内存分配2.1 基本语法与参数2.2 如何访问和操作元素2.3 完整示例3. 详细对比与选择指南3.1 内存管理对比3.2 性能与安全对比4. 高级用法与技巧4.1 std::vector的高级特性4.2 malloc的高级用法与陷阱在C++ ...
  • 在C++中测量代码执行时间的两种方法
    目录第一部分:C 风格clock()(“CPU 秒表”)第二部分:现代 C++std::chrono(“高精度电子秒表”)第三部分:新手的“头号噩梦”——clock()vs<chrono>第四部分:“X光透 视”——观察时间点“X光”实战(基于chrono_example.cpp)动手试试!(终极挑 ...
    04 林犀艺嚸 发表于 2026-1-7 教程
  • C语言数据结构之满二叉树、完全二叉树的节点数计算详解
    目录一、基本概念1.1 满二叉树1.2 完全二叉树1.3 两种二叉树对比二、代码详解2.1 满二叉树计算2.2 完全二叉树计算2.3 主函数main三、总结一、基本概念 1.1 满二叉树 定义:高度为 h 的二叉树,如果它有最大的节点数(2ʰ-1个),则称为满二叉树。 特征: 每一层都达到最大节点数所有叶子都在最后一层每个非叶子节点都有两个 ...
    028 飞蛋糕 发表于 2026-1-7 教程
  • 【C++】回调函数
    前言 学习回调函数,回调函数是通过函数指针或对象调用的函数。 回调函数就是通过函数指针或对象调用的函数,只要能一个函数能够作为参数传入并调用,这个函数就是回调函数。 #include <iostream> int addCallBack(int a,int b){//回调函数 std::cout <<a+b<<std::endl; return 0; } int main(int argc, ...
    089 行则至 发表于 2026-1-7 C/C++论坛
  • 详解C语言中未定义行为
    目录引言一、什么是未定义行为?二、未定义行为的后果三、如何避免未定义行为?四、常见未定义行为的例子五、总结引言 在C语言编程中,未定义行为(Undefined Behavior)是一个经常被提及但往往容易误解的概念。未定义行为指的是当程序执行违反了C语言标准时,程序的行为是未指定的,也就是说,编译器可以以任何方式执行这 ...
    053 泉水青年之家 发表于 2026-1-6 教程
  • C语言时间转换函数接口的用法全面讲解
    目录概述1 时间函数接口1.1 接口函数介绍1.2 功能函数说明2 C语言时间转换函数接口应用2.1 获取当前时间2.2  时间转换为字符串2.3 计算时间差2.4 时间操作2.5 源代码文件概述 在C语言中,时间转换<time.h>:提供了时间处理的相关函数和类型。常用类型:time_t(表示时间戳,通常是long类型)、struct tm(分 ...
    022 谷医师 发表于 2026-1-6 教程
  • 下一頁 »

    快速發帖

    還可輸入 180 個字符
    您需要登錄後才可以發帖 登錄 | 立即注册

    本版積分規則

    相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖返回顶部