首页 > 编程语言 >C/C++ 自定义结构体直接用自定义结构体=赋值

C/C++ 自定义结构体直接用自定义结构体=赋值

时间:2023-04-28 10:56:46浏览次数:42  
标签:自定义 C++ char 体中 赋值 memcpy 结构

自定义结构体中没有管理堆空间对象的指针

struct st_t
{
    int a;
    short b;
    char c;
    char s[128] = {0};
};

对比使用 = 和 memcpy 的汇编代码

 

结论

 两者均调用了memcpy,结构体中不带指针(管理堆空间),可以直接使用浅拷贝,不过个人倾向后者,显式调用memcpy。

标签:自定义,C++,char,体中,赋值,memcpy,结构
From: https://www.cnblogs.com/Cycas/p/17361488.html

相关文章

  • java定义枚举并赋值_java中枚举的特性是什么?如何赋值?
    java定义枚举并赋值_java中枚举的特性是什么?如何赋值?原文链接:https://blog.csdn.net/weixin_32821643/article/details/114441841上次已经为大家介绍过java枚举的概念是什么的主要内容了。今天再来为大家介绍一些相关的知识,也是关于java枚举的一些内容,也就是它的特性以及如何......
  • c++打卡练习(19)
    1.问题描述相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8x8共64格的象棋棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第1格中放1粒,第2格放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上64格,我......
  • 打卡 C++类与对象定义一个日期类 N天以后 - C/C++ 操作符重载
    改造练习13-1(日复一日)中的Date类并提交,使其可以与一个整数n相加或相减,得到该日期N天后/前的日期。提示:请参考题目(日复一日)中的Date类实现;注意考虑闰月;整数n的取值范围为[1,10000]。裁判测试程序样例: #include<iostream>#include<string>#include<assert.h>usingn......
  • c/c++零基础坐牢第九天
    c/c++从入门到入土(9)开始时间2023-04-27 19:27:23结束时间2023-04-27 23:27:35前言:哈哈,今天是五一假期前的狂欢了?不少明天没课的同学都飞奔回家咯。咳咳,都来玩星穹铁道,不玩星穹铁道都是轨子,我铁道兵要来打轨子啦!经过几天的沉淀,对函数多少有些理解,咱们今天就来进行函数编程的相......
  • 【CPP】自定义排序--针对智能指针
    目录代码块代码块#include<iostream>#include<memory>#include<vector>#include<algorithm>usingnamespacestd;classBase{public:virtualvoidPrint(){std::cout<<"IamBase!\n";}};classDerived1:publi......
  • C++实现一个简单的生产者-消费者队列
    本文的代码都是ChatGPT生成,我只是做了微小的调整和整合,AI提示词如下:设计一个C++类,支持生产者-消费者模型,可以通过size函数获取剩余数量可能第一次生成的不一定合适,多刷新几次。生成的ProducerConsumerQueue.h代码如下:#ifndefPRODUCER_CONSUMER_QUEUE_H#definePRODUCER_CON......
  • C++黑马程序员——P143-146. 文件操作
    P143.C++文件操作——文本文件——写文件P144.C++文件操作——文本文件——读文件P143.写文件   示例:1#include<iostream>2#include<string>3usingnamespacestd;4#include<fstream>56//文本文件写文件78voidtes......
  • C/C++会员管理系统[2023-04-27]
    C/C++会员管理系统[2023-04-27]综合设计实例四课题名称:会员管理系统I、题目的目的和要求(2-3人组)随着社会的进步,人们生活水平的提高,各种各样的会员应运而生。各种便民服务的地方为了提高服务粘性,留住顾客往往采用会员制,例如便利店、健身房,生鲜超市、美容美发店等等不一而足......
  • C++第四章课后练习题4-22
    1#include<iostream>2usingnamespacestd;3enumweekday{sunday,monday,tuesday,wednesday,thursday,friday,saturday4};5intmain()6{7inti;8weekdayd=thursday;9cout<<"d="<<d<<endl;10......
  • 越界访问数组进行赋值时,导致陷入死循环
    >选自《C语言陷阱与缺陷》#include<stdio.h>intmain(){  inti=0;  intarr[]={1,2,3,4,5,6,7,8,9,10};  for(i=0;i<=12;i++)  {    arr[i]=0;    printf("helloworld\n");  }  return0;}在vs、x86、C语言环境下运行这串代码......