首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏C++11

    C++11 Generalized(non-trivial) Unions:从入门到精通

    在C++编程中,联合体(Union)是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。在C++11之前,联合体存在诸多限制,例如不能包含具有非平凡构造函数、析构函数和拷贝控制的成员。然而,C++11引入了广义(Generalized)非平凡(non-trivial)联合体的概念,放宽了这些限制,使得联合体的使用更加灵活和强大。本文将带领你从入门到精通C++11的广义非平凡联合体。

    34010编辑于 2025-06-13
  • 来自专栏C++核心准则原文翻译

    C++核心准则C.180:使用联合体节约内存

    C.180: Use unions to save memory C.180:使用联合体节约内存 Reason(原因) A union allows a single piece of memory now v holds a double cout << v.d << '\n'; // write 987.654 But heed the warning: Avoid "naked" unions 原文链接: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c180-use-unions-to-save-memory

    48020发布于 2020-03-25
  • 来自专栏CSDN旧文

    带权并查集--hdu3047 ZJnu stadium

    = father[x]; father[x] = finds(father[x]); dist[x] += dist[t]; return father[x]; } void unions = distance) ans ++; } else unions(a,b,ra,rb,distance);

    38820发布于 2020-10-28
  • 来自专栏Rust语言学习交流

    【Rust 日报】2022-07-21 关于serde_json我希望大家都能知道这些事

    与有标签的unions相比,无标签的unions解析起来非常慢。如果你关心性能,最好是有一个可以区分unions变量的属性。 你可以通过解析到一个使用&str字段的数据结构来避免对字符串的分配。

    57630编辑于 2022-11-28
  • 来自专栏C++核心准则原文翻译

    C++核心准则C.182:使用匿名联合体实现附带标签的联合体

    C.182: Use anonymous unions to implement tagged unions C.182:使用匿名联合体实现附带标签的联合体 Reason(原因) A well-designed 原文链接: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c181-avoid-naked-unions

    94310发布于 2020-03-25
  • 来自专栏C++核心准则原文翻译

    C++核心准则C.181:避免使用"暴露的"联合体

    C.181: Avoid "naked" unions C.181:避免使用"暴露的"联合体 Reason(原因) A naked union is a union without an associated Naked unions are a source of type errors. 暴露的联合体指的是不包含用来表示哪个(如果存在的话)成员有效的标志的联合体,程序员必须对数据流保持跟踪。 原文链接: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c181-avoid-naked-unions

    55110发布于 2020-03-25
  • 来自专栏超级架构师

    Apache Hive走向内存计算,性能提升26倍

    engine & ORCFile predicate pushdownSQL: Support for VARCHAR and DATE semantics, GROUP BY on structs and unions engine & ORCFile predicate pushdown SQL: Support for VARCHAR and DATE semantics, GROUP BY on structs and unions

    1.6K50发布于 2018-04-09
  • 来自专栏WebJ2EE

    【TypeScript】:functions、types

    Unions and Intersection Types 2.2.1. Union Types 2.3. Conditional Types 2.4. Unions and Intersection Types Intersection and Union types are one of the ways in which you can compose https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types Unions and Intersection Types: https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html

    1.1K20发布于 2021-02-26
  • 来自专栏攻城狮的动态

    「类与对象」说一说isa指针

    has_sidetable_rc:占用1bit,引用计数器是否过大无法存储在isa中,如果为1,那么引用计数会存储在一个叫SideTable的类的属性中; extra_rc:占用19bit,里面存储的值是引用计数器减1 参考链接 Unions And Bit-Fields: https://icarus.cs.weber.edu/~dab/cs1410/textbook/5.Structures/unions.html objc4源码: https

    50320发布于 2021-03-03
  • 来自专栏10km的专栏

    eRPC:修改erpcgen代码生成模板增加#if#endif宏定义,解决多个eRPC服务共用时类型重复定义问题

    commonGuardMacro} {% if usedUnionType %} #if defined(__CC_ARM) || defined(__ARMCC_VERSION) #pragma anon_unions TYPEDEF */ {% endfor -- aliases %} {% endif -- aliases %} {% if nonExternalStructUnion %} // Structures/unions

    95820发布于 2020-10-29
  • 来自专栏Krryblog

    商品多种规格属性的选择(sku 算法)

    求出交集 */ getUnions(params: AdjoinType) { const paramsColSum = this.getColSum(params) const unions index) => { // 数字大于等于总列数,说明是可选的 if (item >= params.length && this.vertex[index]) { unions.push (this.vertex[index]) } }) return unions } } 有了这个类,接下来可以创建一个专门用于生成商品多规格选择的类,它继承于==AdjoinMatrix

    7.7K71发布于 2020-07-09
  • 来自专栏高级前端面试题总结

    JavaScript刷LeetCode拿offer-并查集

    } }}var findCircleNum = function(isConnected) { const len = isConnected.length const unions 0;i<len;i++){ for(let j=0;j<len;j++){ if(isConnected[i][j] === 1){ unions.connect (i,j) // 将 i, j 合并 } } } console.log(unions) return new Set(unions.parents

    725130编辑于 2022-11-02
  • 来自专栏全栈修仙之路

    TypeScript 可辨识联合类型

    TypeScript 可辨识联合(Discriminated Unions)类型,也称为代数数据类型或标签联合类型。它包含 3 个要点:可辨识、联合类型和类型守卫。 understanding-discriminated-unions-in-typescript ---- 欢迎小伙伴们订阅前端全栈修仙之路,及时阅读 Angular、TypeScript、Node.js

    2.9K10发布于 2020-03-17
  • 来自专栏陈猿解码

    avro格式详解

    2、复杂类型 Avro支持6种复杂类型:records、enums、arrays、maps、unions和fixed。 声明一个value为long类型,(key类型为string)的map { "type": "map", "values": "long", "default": {} } 5)Unions 对于unions:先写入long类型的计数表示每个value值的位置序号(从零开始),然后再对值按对应schema进行编码。 对于records:直接按照schema中的字段顺序来进行编码。

    4.8K11编辑于 2023-02-28
  • 来自专栏PostgreSQL研究与原理解析

    [译]PostgreSQL HAVING子句

    . -- unions for each of the 6 countries excluding USA UNION -- country totals select c.ctry_name, null ) where c.ctry_name = 'Mexico' group by c.ctry_name -- grouping by just country UNION .... .... -- unions

    1.2K30编辑于 2022-09-06
  • 来自专栏C++核心准则原文翻译

    C++核心准则C.183: 不要使用联合体实现双关类型

    Note(注意) Unfortunately, unions are commonly used for type punning.

    65710发布于 2020-03-25
  • 来自专栏DotNet NB && CloudNative

    那些被推迟的 C# 14 特性及其背后的故事

    「可辨识联合(Discriminated Unions):一场未竟的史诗」 在所有被推迟的特性里,可辨识联合(Discriminated Unions, DUs)绝对是社区里呼声最高、设计最复杂、故事也最曲折的一个 他们决定,当前阶段先集中精力搞定“类联合”(class unions),也就是基于现有类继承体系的、范围更小的 DU 实现。 这正是 C# 14 中没有 DU 的直接原因。

    25010编辑于 2025-09-02
  • 来自专栏Spark生态圈

    [Spark SQL] 源码解析之Optimizer

    CombineUnions again in Batch("Operator Optimizations"), // since the other rules might make two separate Unions

    1.3K20发布于 2018-08-29
  • 来自专栏这里只有VxWorks

    Tool之StethoScope

    Install variables by name as your program runs, including structs, classes, and unions, by simply typing

    39820发布于 2021-11-12
  • 来自专栏DotNet NB && CloudNative

    从未来看C#!

    还有一种声明方式是基于名称的: data class Point { double X; double Y }; var point = new Point { X = 5, Y = 6 }; Discriminated Unions Discriminated unions 又叫做 enum class,这是一种全新的类型声明方式,顾名思义,是类型的 “枚举”。

    36510编辑于 2023-09-08
领券