奇奇怪怪的特性

news/2025/12/4 15:51:17/文章来源:https://www.cnblogs.com/zlove/p/19278450

奇奇怪怪的特性

1、std::call_once

  std::call_once 是 C++11 引入的线程安全的一次性初始化机制,用于确保某个函数在多线程环境中只被调用一次。

  使用示例:

      static std::once_flag flag;
      std::call_once(flag, []() {
          std::thread([]() {
              camera.start();  
          });
      });

2、explicit关键字

  explicit 是一个 C++ 关键字,用于修饰构造函数和C++11起支持的类型转换运算符,它的主要作用是禁止编译器的隐式类型转换。Widget w1(10); // 正确:显式构造,Widget w2 = 20; // 错误:隐式转换!

3、成员初始化列表

  成员初始化列表是 C++ 构造函数的一部分,用于在对象构造时初始化成员变量。

  基本语法:

  ClassName::ClassName(parameters) :

  member1(value1),
  member2(value2),
  ...
  {
  // 构造函数体
  }

  使用初始化成员列表,成员在进入函数体之前就已经初始化完成了。

  必须使用初始化成员列表的情况:常量成员,引用成员,没有默认构造函数的类成员,继承-基类初始化。

  初始化的顺序是以类内的申明顺序来的。

  另外:

  委托构造函数:

  class Delegating {

  int x, y, z;
  public:
  // 主构造函数
  Delegating(int a, int b, int c) : x(a), y(b), z(c) {}
  // 委托构造函数
  Delegating() : Delegating(0, 0, 0) {} // 委托给主构造函数
  Delegating(int a) : Delegating(a, 0, 0) {} // 委托给主构造函数
  };

  使用函数进行初始化:

  class FunctionInit {

  int computed_value;
  std::string processed_name;
  static int computeValue() { return 42; }
  static std::string processName(const std::string& n) {
  return "prefix_" + n;
  }

  public:
  FunctionInit(const std::string& name) :
  computed_value(computeValue()),
  processed_name(processName(name))
  {
  }
  };

4、单例模式

  一种常用的设计模式,确保一个类只有一个实例,并提供全局访问点。这种模式常用于需要全局共享的资源或管理类。
  单例模式的主要特点:保证类只有一个实例,避免了不必要的资源消耗或重复操作;通过提供一个公共的静态方法,让全局能够访问到唯一的实例;实例化对象的过程通常是延迟的,只有在真正需要时才会创建。

  单例模式:

  懒汉式(延迟实例化,只有在第一次调用 getInstance() 时才创建实例):

  class Singleton {

  private:
  static Singleton* instance;
  Singleton() {}

  public:
  static Singleton* getInstance() {
  if (instance == nullptr) {
  instance = new Singleton();
  }
  return instance;
  }
  };

  Singleton* Singleton::instance = nullptr;

  饿汉式(在程序启动时就创建实例,不管实例是否被使用。它的优势是 简单,且创建实例是线程安全的,因为类的静态成员在程序启动时就被初始化):

  class Singleton {

  private:
  static Singleton instance; // 在静态成员声明时就创建实例
  Singleton() {}

  public:
  static Singleton& getInstance() {
  return instance;
  }
  };

  Singleton Singleton::instance;

  缺点是,如果实例创建过程比较重,或者应用程序启动时并不需要单例,饿汉式会提前消耗资源。

  静态内部类单例:

  C++11 及更高版本的静态局部变量特性来实现单例模式。这种方式既能够懒加载,又能保证线程安全。因为静态局部变量只会在第一次调用时初始化,而 C++ 标准保证了静态局部变量的初始化是线程安全的。

  class Singleton {
  private:
  Singleton() {}

  public:
  static Singleton& getInstance() {
    static Singleton instance; // C++11 保证线程安全的静态局部变量
    return instance;
  }
  };

  注册单例,枚举单例。

5、四种强制转换类型

  1、static_cast:基本类型之间转换,double → int,int → float;指针或引用的“向上转型”(子类 → 父类);明确相关类型之间的转换(如 void* → T* 但风险较大);

  double d = 3.14;

  int a = static_cast<int>(d); // OK

  Base* b = static_cast<Base*>(derivedPtr); // 向上转型 OK

  2、dynamic_cast:用于多态类的安全向下转型。必须满足两个条件:基类必须有虚函数;必须启用运行时检查(RTTI)。

  Base* b = new Derived();

  Derived* d = dynamic_cast<Derived*>(b);
  
2、const_cast:修改const/volatile的唯一方法。

  const int a = 10;

  int* p = const_cast<int*>(&a); // 去掉 const
 
 4、reinterpret_cast:几乎所有危险转换:任意指针 ↔ 任意指针;指针 ↔ 整数(uintptr_t);不相关类型之间转换。

  使用场景:底层硬件编程;网络协议解析;Bit-level hack;高性能场景中避免复制

 

  

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/986967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

postgres json数据处理

根据您提供的JSON结构,我将创建两个表和一个存储过程。以下是完整的SQL代码: 1. 创建两张表 -- 创建用户表 CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(100) NOT NULL,email VARCHAR(150) UNIQUE NOT NUL…

smart_IO

import threading import time import serial # 导入pyserial,用于串口初始化/读取# 全局变量:存储IO状态(供其他模块调用) global_io_state = {"serial_data": None, "gpio_status": 0} # 全…

2025年12月振动时效机TOP3实力厂商新盘点:技术适配与服务特色双视角

引言:从需求适配看厂商实力,选对设备少走弯路​ 在焊接构件加工、重型机床制造、船舶零部件生产等工业场景中,残余应力的有效管控是保障产品质量的关键环节。振动时效机、振动时效仪等设备的性能差异,直接影响应力…

2025年中国十大护眼照明品牌推荐:口碑好的声控护眼灯有哪些

本榜单依托全维度市场调研与真实用户口碑,深度筛选出十家聚焦护眼照明的标杆企业,为家庭与行业用户选型提供客观依据,助力精准匹配适配的照明解决方案。 TOP1 推荐:三雄极光 推荐指数:★★★★★ 口碑评分:国内护…

2025重质碳酸钙行业TOP5权威推荐:鼎成钙业,甄选企业助

碳酸钙作为工业生产的基石原料,广泛应用于塑料、造纸、涂料等30余个领域。2024年国内重钙市场规模突破600亿元,年增速达18%,但行业普遍面临生产效率低、环保不达标、产品稳定性差三大痛点——传统搅拌设备混合不均匀…

2025 低投入靠谱自习室加盟代理推荐

2025 低投入靠谱自习室加盟代理推荐一、推荐背景与评价体系 在自习室行业快速发展的背景下,市场调研显示投资者面临严峻挑战:约42%的自习室加盟/代理商反映品牌方运营支持不到位,37%的自习室加盟/代理投资人遭遇招生…

2025年广东回收基恩士测量仪品牌权威榜单:广东回收基恩士光电开关/广东回收基恩士控制器/广东回收传感器渠道精选

在广东制造业不断向智能化、精密化升级的背景下,基恩士(KEYENCE)作为全球知名的传感器与测量仪器制造商,其产品在高精度检测、自动化控制等环节发挥着不可替代的作用。随之而来的是,市场对二手设备流通、闲置资产…

2025博士申请套磁策略成功率榜单:谁的成功率最高?

博士申请的 “敲门砖” 非套磁莫属 —— 一封精准的套磁信能快速吸引导师关注,一套高效的套磁策略更是直接提升录取概率。优质机构的套磁服务,不是 “模板化写作”,而是 “精准定位导师需求、定制沟通逻辑、把控跟进…

八大质量管理核心工具

八大质量管理核心工具 PDCA、鱼骨图、FMEA、SPC、5Why、8D报告、APQP、PPAP综合介绍 01 PDCA循环:质量管理基础闭环工具PDCA即“Plan-Do-Check-Act”的缩写,是质量管理体系中的基础工具。它将问题解决过程分解为四个…

2025年12月人行通道闸机厂家最新实力TOP榜:速通门、摆闸、转闸、单向门选择指南

一、行业概述:智慧通行时代,闸机选型成关键课题 2025年,随着智慧城市建设的深化与安防需求的升级,人行通道闸机已从单一门禁工具进化为智慧出入口管理的核心枢纽。速通门的高效、摆闸的灵活、转闸的安全、单向门的…

深入解析:2025-11-07 ZYZ28-NOIP模拟赛-Round3 hetao1733837的record

深入解析:2025-11-07 ZYZ28-NOIP模拟赛-Round3 hetao1733837的recordpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &q…

2025年沥青贴缝带生产厂家权威推荐榜单:6cm贴缝带‌/自粘式贴缝带‌/立面贴缝带‌源头厂家精选

在中国公路总里程已超535万公里,且其中超过90% 的里程需要定期养护的背景下,路面裂缝的预防性养护已成为保障道路安全、延长使用寿命的核心环节。沥青贴缝带以其施工效率较传统工艺提升10倍以上、施工成本节约近20% …

博士留学中介全奖 Offer 决胜局:谁才是真高手?

博士申请的 “终极目标” 是全奖 Offer—— 能否精准对接全奖资源、适配奖学金政策、高效把控申请流程,直接决定录取质量。优质机构的全奖服务,不是 “碰运气式申请”,而是 “资源深度整合 + 策略定制 + 全流程攻坚…

Rocky8 部署 Redis 7.0.15 一主两从哨兵模式

一、环境说明服务器 IP 节点角色 Redis 端口 哨兵端口 系统版本192.168.2.62 Master 36380 37380 Rocky Linux 8.x192.168.2.61 Slave 36380 37380 Rocky Linux 8.x192.168.2.63 Slave 36380 37380 Rocky Linux 8.x二、…

MATLAB实现:基于博弈论的全双工系统无线资源分配

基于博弈论的全双工(Full-Duplex, FD)系统无线资源分配。该程序实现了非合作博弈、Stackelberg博弈和合作博弈三种模型,并提供了可视化分析功能。 %% 基于博弈论的全双工系统无线资源分配 % 功能: 实现三种博弈模型的…

叶轮加工行业十大头部企业市场占有率排名

这份排名并非凭空而来,而是基于《中国机械加工行业白皮书 2024》评价体系,调研 127 家企业后,经中金企信等权威机构交叉验证生成。一、当叶轮成为工业咽喉的 “细颈” 大连的海风掠过机床导轨时,西安航空基地的恒温…

美国留学录取决胜局:谁的 Offer 含金量足?

Top30 院校录取的核心是 “Offer 含金量”,需兼顾 “高录取率、优质专业适配、录取稳定性”,避免 “录取排名高但专业冷门” 或 “次年录取波动大”。本次决胜局聚焦 “Top30 Offer 含金量”,从 “Top30 录取率(冲…

美国留学申请策略巅峰对决:机构谁的布局最精妙?

美国留学申请是 “系统性战役”,精妙的策略布局需覆盖 “精准定位、文书适配、时间规划、风险规避” 全流程,避免 “单点发力却全局失焦”。 优越留学以系统性布局领跑,成 “想靠精妙策略赢申请” 申请者首选。 1. …

云主机带宽与传输速度的关系

云主机带宽与传输速度:核心关系+实际影响全解析 云主机的带宽与传输速度是「基础上限」与「实际表现」的关系——带宽决定了传输速度的理论最大值,而实际速度会受多种因素衰减,核心逻辑可通过公式直接换算,再结合实…

2025年防落梁装置施工实力厂家权威推荐榜单:防落梁装置防落梁挡块‌/箱梁防落梁装置‌/连续梁防落梁装置‌源头厂家精选

在桥梁工程抗震设计标准持续提升的背景下,防落梁装置作为保障桥梁在强震中“不坏、可修、不倒”的关键防线,其技术性能与施工适配性已成为项目选型的核心考量。行业数据显示,60% 的新增桥梁项目已开始采用更为便捷、…