关于 string.c_str() 生命周期

2024-04-13

我想知道是否void func(const char *str);参考有效的str如果我写如下:

auto str = string("hello").c_str();
func(str);

它与下面的代码有何不同?

func(string("hello").c_str())

在这两种情况下,string对象是临时的,在语句结束时销毁。

在第一种情况下,str最终悬空 - 指向由临时管理的内存string,但现在已被摧毁。用它做任何事情都是错误的,会产生未定义的行为。

对于第二种情况,临时string直到函数返回后才被销毁。所以这没问题,只要函数不保留指针以供以后使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于 string.c_str() 生命周期 的相关文章

  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • MEX 文件中的断言导致 Matlab 崩溃

    我正在使用mxAssert 宏定义为matrix h在我的 C 代码中 mex 可以完美编译 当我调用的 mex 代码中违反断言时 该断言不会导致我的程序崩溃 而是导致 Matlab 本身崩溃 我错过了什么吗 这是有意的行为吗 当我查看 M
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 如果.Net Core可以在Windows上运行,为什么不能在.Net Framework中引用.Net Core DLL?

    我明白为什么 Net Framework 可能会在 Net Core IE 中导致问题 因为不存在特定于 Windows 平台的 API 但是为什么不能直接引用 Net Core 作为 Net Framework 中的库呢 如果 Net C
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 如何在Python中按AaB而不是ABa顺序对字符串进行排序

    我正在尝试对字符串进行排序 为 punnetsquare 制作基因型 我目前的实现是 unsorted genotype ABaB sorted genotype sorted list unsorted genotype sorted s
  • 删除Android所有语言中的字符串

    我有一个包含多个翻译的应用程序 我想删除一些字符串 我怎样才能重构并删除它们一次 例如在默认情况下strings xml文件并自动将删除传播到其他翻译的其他 strings xml 文件 您可以通过 Android Studio 中的 翻译
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • std::bind 重载解析

    下面的代码工作正常 include
  • 通过等待任务或访问其 Exception 属性都没有观察到任务的异常

    这些是我的任务 我应该如何修改它们以防止出现此错误 我检查了其他类似的线程 但我正在使用等待并继续 那么这个错误是怎么发生的呢 通过等待任务或访问其 Exception 属性都没有观察到任务的异常 结果 未观察到的异常被终结器线程重新抛出
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS

随机推荐

  • Android GPS 获取当前位置

    我开发了一个简单的 Android 应用程序 在这个简单的应用程序中 我想获取 GPS 纬度和经度数据 它在我的模拟器中正常工作 但当我安装在真正的 Android 设备上时 它不起作用 请帮我解决这个问题 以下是我的代码 提前致谢 pub
  • 根据浏览器宽度移动背景图像

    leavesbg background f7fff7 url images leaves4 png repeat y fixed 480px top 因此 如果页面的宽度大于 800 像素 我想将背景图像向右移动一半 也就是说 如果他们以
  • HSV三角形的公式

    不知道下面两个公式是怎么推导出来的 请解释一下 我的声望点太低了 没法去问写公式的人 C 中的 HSV 三角形 https stackoverflow com questions 42531608 hsv triangle in c sha
  • maven-checkstyle-plugin 无法在 macOS 上使用 google_checks.xml

    我有一个 Java Maven 项目 我在家里使用 Windows 构建并正确执行了 checkstyle 它使用内置规则集 但我也尝试了外部文件 查看相同的代码 pom xml 它似乎不适用于 macOS 奇怪的是如果我使用sun che
  • 如何使用 jQuery 选择没有特定类名的元素?

    像我这样的突击队怎么可能使用臭名昭著且功能强大的 jQuery Sizzle CSS 和其他所有东西 选择器来选择一个没有名为 active 的类的元素 我尝试过 a class active etc 但它没有给出足够的结果 a not a
  • OpenCV 中的相机标定和鸟瞰投影

    我已经完成了相机校准 现在我想获得棋盘图片的鸟瞰图 如下所示 但结果很奇怪 看起来不是一个正方形 你可以看到图3 每个正方形都是7 95x7 95 有人知道为什么吗 gpsPoints 0 Point2f gpsPoints 1 Point
  • 从 VS Code 终端 (Windows 10) 打开 VS Code 中的选定文件夹

    我一直在寻找 但在使用 VS Code 终端时找不到任何方法来打开 VS Code 中选定的文件夹 这可能吗 您是否尝试在集成终端所属的同一个 VSCode 实例中打开 Try code r
  • 从新的 Firebase 检索数据

    请帮忙 迁移到新的 Firebase 后 我无法检索数据 使用这个结构 let ref FIRDatabase database reference override func viewDidLoad super viewDidLoad r
  • Spring/Java 错误:命名空间元素“annotation-config”...在 JDK 1.5 及更高版本上

    我有 Spring Java 应用程序 它是用编译器合规级别 1 5 我下载了一个新的 Linux 设置阿帕奇汤姆猫 8 0 8 我下载了JDK 8u5 我在bash中设置的路径如下 PATH PATH HOME jdk1 8 0 05 b
  • 在Android中压缩带有大图像的pdf

    这个问题通过java压缩带有大图像的pdf https stackoverflow com questions 20614350 compress pdf with large images via java给出了在 Java 中使用 iT
  • 您可以同时使用 Protractor 和 Appium 来测试混合应用程序吗?

    这是我的场景 我有一个基于 Angular JS 构建的网站 我能够使用量角器使网站自动化 然而 在网站上执行的某些操作会反映在 Android 和 IOS 设备中 这就是我想要实现的目标 像平常一样在网站上运行我的测试 但我也想触发命令来
  • 如何通过 .NET 将图像插入 Access OLE 字段

    我有一个 Access mdb 数据库 我想从 Visual C 2010 开发的应用程序中插入图像 图片存储在数据库中的 OLE 对象字段中 直接在 Access 中添加图像后 它们将以位图图像的格式存储 双击这些图片即可在 Access
  • Cypress - 验证一列中的每个表行是否包含相同的项目

    我有一个表 但是某种由 DIV 创建的 ag grid 而不是真正的表元素 div div Name 1 div div 25 div div div div Name 1 div div 25 div div 我想验证每个字段是否带有co
  • 有谁知道 CVS 命令行选项来获取上次签入的详细信息?

    我在 Windows 上使用 CVS 带有 WinCVS 前端 并且希望在构建失败时将上次签入的详细信息添加到我们的自动构建过程中的电子邮件中 以便更容易修复 我需要知道已更改的文件 更改它们的用户以及评论 我一直在尝试制定命令行选项 但似
  • 来自 links-own 的参数值

    我需要帮助 所以我想将代理拥有的参数指定为链接拥有的参数值的平均值 frienships own strength household own influence factor to create influence if friendsh
  • 在 Rails 资产管道的 js.coffee 文件中使用 erb 时出错

    我有以下代码 assets javascripts home js coffee erb jQuery gt addClickListeners gt document on click add chord link addChord do
  • C IEEE-Floats inf 等于 inf

    在 C 中 在使用 IEEE 754 浮点数的实现中 当我比较两个 NaN 浮点数时 它返回 0 或 false 但是为什么两个都为 inf 的浮点数会被视为相等呢 该程序打印 equal 至少在带有 gcc 的 Linux AMD64 下
  • 使用 strtotime() 在 php 中计算相对日期

    我正在寻找一种可靠的方法来返回指定工作日 例如 星期一 的完整日期current week 由于今天是 2012 年 6 月 13 日星期三 我预计以导致2012 06 11 而是 php 返回2012 06 18好像它解释了本星期作为意义
  • 核心数据:3表连接?

    我知道 Core Data 不是数据库 有很多区别 是这个吗 在数据库中 我通常会有以下内容 A gt gt B gt gt C A 有很多 B B 有很多 C 查询 给我所有具有 c attr X 的 A 很容易写成 select fro
  • 关于 string.c_str() 生命周期

    我想知道是否void func const char str 参考有效的str如果我写如下 auto str string hello c str func str 它与下面的代码有何不同 func string hello c str 在