C#后遗症,掉了个坑,特此记录

news/2025/9/28 20:20:10/文章来源:https://www.cnblogs.com/CUCKOO0615/p/19117520
String512 str1 = "123123"; 与 String512 str2; str2 = "456"; 有何区别?
之前用C#其实是不在意这个问题的,直到今天用CPP写了个String512类,才知道这里面原来还有说法..
首先, String512 str1 = "123123"; 这个语句已经有很多人掉进了坑里, 认为是"先有一个内容为123123的匿名对象生成,然后调用拷贝构造赋值给str1", 而事实是: 这个语句是直接调用了String512(const char*)这个有参构造, 没有任何临时对象生成!!如果没有String512(const char*),那么编译器会报错: 不存在const char[7]转换到String512的适当构造函数..
之所以有"生成了临时对象"的错觉,大概是跟
void foo(string a);
foo("123");
这种情景发生了混淆....
后面的两个语句呢?
String512 str2毫无疑问,只是简单的调用了String512的无参(默认)构造, 关键在于后一句: str2 = "456": 这个语句到底做了什么?
答案是这样的:
一) str2检查"="操作符有没有重载, 如果有, 那么就直接调用void operator=(const char*)
二) 如果"="操作符没有重载呢? 那么str2就会去调用有参构造String512(const char*).
三) 如果没有有参构造String512(const char*),又没有对"="进行重载呢? 于是编译器报错:没有与这些操作数匹配的"="运算符

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

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

相关文章

曾记否 -- Words to be remembered 2025.9.28

曾记否, 在石外楼看旗, 敢面疾风! 节选自 我们的体系, 永不会被表里不一的邪恶势力摧毁一点 -- Words to be remembered 2025.9.28

网站开发需要的技术直接ip访问网站

出品 | 《大咖来了》 一边是企业上云这一毋庸置疑的发展趋势,但另一边,云数据泄露事件的频繁,却让不少企业谈“云”色变。 2020年2月,万豪酒店520万客人信息被泄露,英国信息专员办公室(ICO)对其进行了1840万英镑(约1.…

日常掉坑记录: 关于位操作

char a[8] = { 0x01, 0x02, 0x03, 0x04 };int b = 0;memcpy(&b, a, 4);char c = (b>>8)&0xFF;c是多少?答案: 0x02掉坑原因: 搞反了小端模式下>>符号的操作结果.右移8位, 指的是变量所包含的字节整…

WPF XAML资源文件中的换行、回车、空格及Tab的转义

符号 十六进制 十进制回车 
 换行 
 空格   Tab 	

网站怎么做切换中英文免费制作表格的app

无论在我们的工作中还是在我们的生活中,我们都会用到多线程的知识,今天就给大家讲一下如何使用多线程。 序幕 线程的启动 如何使线程暂停 如何使线程停止 线程的优先级 线程安全相关的问题 我们首先要知道进程和线程分别是什么? 进程 - 进…

广州番禺网站公司做那种事情的网站

ChatGPT无限次数:点击直达 ChatGPT 专属指南:利用ChatGPT提升论文写作效率 引言 随着人工智能技术的不断发展,如今许多工具被开发出来,以帮助人们更高效地进行各种工作。其中,ChatGPT作为一个强大的语言生成模型,不仅…

longchain4j 学习系列(2)-调用远程deepseek

接上一篇继续,longchain4j支持open-ai兼容的各种模式,包括deepseek 一、修改pom依赖1 <!-- LongChain4j OpenAI Integration (支持DeepSeek) --> 2 <dependency> 3 <groupId>dev.langchain4j&…

收汇核销简介

收汇核销是我国外汇管理制度中的一项核心环节,目的是确保“货物确实出口、外汇确实收回”,防止虚假出口、骗税、热钱流入等风险。虽然 2012 年起全面电子化,不再盖章,但“核销”逻辑仍在系统后台运行,是出口企业办…

macOS 彻底卸载和重装 Node.js 指南

彻底卸载 Node.js 卸载步骤 # 1. 卸载 npm sudo npm uninstall npm -g# 2. 删除 Node.js 核心文件和配置 sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.* sudo rm -rf /…

2025最新国内过滤器品牌 TOP10 权威测评推荐厂家与选购指南

随着工业制造、环保水处理、医疗净化等领域的快速发展,过滤器作为关键配套设备,其性能与品质直接影响生产效率、产品质量及环境安全。2025 年国内过滤器市场呈现技术迭代加速、细分场景需求升级的特点,企业对过滤器…

Python 将 HTML 转换为纯文本 TXT (HTML 文本提取) - 实践

Python 将 HTML 转换为纯文本 TXT (HTML 文本提取) - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

0135_MVC 设计模式:让代码架构更清晰

MVC 设计模式:让代码架构更清晰一、什么是 MVC 设计模式? MVC 全称是Model(模型)、View(视图)、Controller(控制器),它不是一种具体的技术,而是一种 “分而治之” 的代码架构思想。核心逻辑是将软件系统的三…

网站建设 意识形态每天能赚30 50元的捕鱼游戏

原型模式创建对象不调用原对象的构造函数&#xff0c;是直接copy原对象的浅克隆&#xff1a;对值类型的成员变量进行值的复制,对引用类型的成员变量只复制引用,不复制引用的对象.深克隆&#xff1a;对值类型的成员变量进行值的复制,对引用类型的成员变量也进行引用对象的复制. …

30天Python编程挑战 - 从零基础到全栈开发

30天Python编程挑战是一个完整的Python学习教程,从基础语法到高级应用,涵盖变量、函数、面向对象、Web开发、数据分析等核心内容。通过30天的系统学习,帮助初学者掌握Python编程技能,为数据科学、Web开发和自动化脚…

怎么做淘宝网站推广菏泽市住房和建设局网站

作为域管理员&#xff0c;在日常工作中使用ADUC&#xff08;AD用户和计算机&#xff09;工具在图形界面中进行账号管理操作可谓是家常便饭了。然而一个个增加、移动、删除用户&#xff0c;这样操作有时真的够烦&#xff0c;当管理大批量的账户时&#xff0c;重复操作浪费的时间…

软件工程第一次作业——物品复活系统

时间记录序号 任务(PSP2.1 对应) 说明 耗时(分钟)1 Planning:Estimate(计划与估算) 明确需求、列出功能点、制定实现优先级与时间计划。 102 Development:Analysis(需求分析) 分析数据结构、UI 交互用例、文…

完整教程:【C++】string类的常见接口的使用

完整教程:【C++】string类的常见接口的使用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…

【Android之路】界面和状态交互 - 详解

【Android之路】界面和状态交互 - 详解2025-09-28 19:54 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

StatusStrip 状态栏控件的使用

作用:用来显示时间 ,状态 ,软件版本 使用:在最下面去点击即可 ,然后再设置 ,鼠标右键置于底层 图片展示:

unzip-6.0-21.el7.x86_64.rpm怎么安装?CentOS 7手动安装rpm包详细步骤

unzip-6.0-21.el7.x86_64.rpm怎么安装?CentOS 7手动安装rpm包详细步骤​ 本文介绍了如何在 ​CentOS 7​ 系统上手动安装 unzip-6.0-21.el7.x86_64.rpm 这个 RPM 包,包括下载后如何用终端命令进行安装、常见问题的解…