C++ 中的 const char*

2023-11-25

C++ 中的字符串表达式如何工作?

考虑:

#include <iostream>
using namespace std;

int main(int argc, char *argv[]){

    const char *tmp="hey";
    delete [] tmp;

    return 0;
}

“嘿”表达式存储在何处以及如何存储?为什么当我尝试删除它时会出现分段错误?


在这种(有些特殊)情况下,它的存储位置由编译器决定。然而,这对你来说并不重要 - 如果你不使用分配内存new,尝试解除分配它并不是很好delete。你不能delete按照您分配的方式分配内存。

如果您想控制该资源的释放,您应该使用std::string,或使用分配缓冲区malloc().

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

C++ 中的 const char* 的相关文章

随机推荐

  • 使用 Hibernate PreInsertEventListener 更改实体

    我正在使用 Hibernate 4 1 尝试调用 PreInsertEventListener 来更新实体 然后再将其插入数据库 基于此处的文章 http anshuiitk blogspot ca 2010 11 hibernate pr
  • 如何在两个HTML页面之间交换变量?

    我有两个 HTML 页面 example1 html and example2 html 我如何传递变量example1 html to example2 html使用查询字符串 并检索该变量example2 html不使用任何服务器端代码
  • 元素不会保持居中,尤其是在调整屏幕大小时

    我的问题是我无法水平居中三角形指针 好吧 对于某些窗口大小 我可以将指针居中 但是当我缩小或扩展窗口时 它会再次将其放置在错误的位置 我缺少什么 body background 333333 container width 98 heigh
  • 如何从 Symfony2 config.yml 读取配置设置?

    我在 config yml 文件中添加了一个设置 如下所示 app config contact email email protected 对于我的一生 我不知道如何将其读入变量 我在我的一个控制器中尝试了类似的操作 recipient
  • 元素之间的间距

    我是 CSS 和 HTML 的完全初学者 我正在构建我的第一个基本培训页面 我现在想做的是在两个元素之间留出间距而不使用 br 目前我正在使用这个 formClear clear left height 25px 它适用于间距 但你这是正确
  • 更多 Pythonic/Pandaic 方法来循环 pandas 系列

    这很可能是非常基本的东西 但我无法弄清楚 假设我有一个这样的系列 s1 pd Series 1 1 1 2 2 2 3 3 3 4 4 4 如何在无需恢复使用 for 循环的情况下对该系列的子系列进行操作 例如 假设我想将其变成一个包含四个
  • 使用 papa parse 解析大型 csv 文件

    我正在尝试加载一个大约 100k 行的文件 到目前为止浏览器已经崩溃 本地 我上网查了一下 发现 Papa Parse 似乎可以处理大文件 现在加载到文本区域的时间减少到大约 3 4 分钟 加载文件后 我想要执行更多 jQuery 来执行计
  • 从 javascript 重定向到操作

    我有一个 MVC4 项目 在客户端我需要重定向到特定的操作方法 我已阅读以下帖子如何从 JavaScript 方法重定向到操作 下面有一条关于使用的评论 window location href controller action para
  • 使 SVG 路径像一条平滑的线,而不是参差不齐

    那么在我创建的项目中河流线 from pathes 并且由于我的这种大笔划宽度这个很ragged 我已经四处寻找了 但我唯一发现的是stroke linejoin round 正如你在这里看到的 好多了 但我仍然不满意 有什么办法可以得到一
  • 为什么虚函数需要通过指针传递而不是通过(对象的)值传递?

    我想我理解虚拟方法和虚表的概念 但我不明白为什么将对象作为指针 或引用 传递和按值传递 哪种废弃虚表或其他东西 为什么这样的事情会起作用 Material m new Texture poly gt setMaterial m method
  • 不知道如何使用 PDFBox

    我正在尝试创建一个 PDF 文件 其中包含文档中的大量文本框和来自另一个类的文本字段 我正在使用 PDFBox 好的 创建一个新文件很容易 编写一行文本也很容易 现在 当我尝试插入下一个文本行或文本字段时 它会覆盖内容 PDDocument
  • 如何在类的头文件中定义 const double?

    在我的类的头文件中 我正在尝试以下操作并收到编译器投诉 private static const double some double 1 0 你应该如何实际做到这一点 在 C 11 中 您可以使用非整数常量表达式 这要归功于constex
  • C# 读取另一个进程内存

    我在从游戏中读取简单的 int 时遇到问题 我用 Cheat Engine 找到了一个静态地址 如果我手动将其插入列表中 它每次都会起作用 但是当我尝试用 C 读取它时 它总是读取 0 字节 如果有人可以提供帮助 那就太好了 Thanks
  • AlertDialog - 当用户点击“确定”时如何运行检查

    对于自定义 AlertDialog 我可以覆盖肯定按钮以不关闭对话框吗 相反 我想运行一些编辑检查 并在检查失败时保持对话框打开 protected Dialog onCreateDialog int id Dialog alertDial
  • Spring - 找不到 WebApplicationContext:没有注册 ContextLoaderListener? [复制]

    这个问题在这里已经有答案了 我在尝试运行 Spring 项目时收到以下错误 HTTP Status 500 java lang IllegalStateException No WebApplicationContext found no
  • 将所需的行移动到 pandas Dataframe 的顶部

    In pandas 如何在不创建数据框副本的情况下将行复制或移动到数据框顶部 例如 我设法用下面的代码几乎完成了我想要的事情 但我的印象是可能有更好的方法来完成此任务 import pandas as pd df pd DataFrame
  • 为什么我不能从方法中抛出异常

    我是 Java 新手 在抛出异常方面遇到了一些问题 也就是说 为什么这是不正确的 public static void divide double x double y if y 0 throw new Exception Cannot d
  • 如何将 Abaqus python 库集成到 PyCharm 中托管的项目中

    有一个类似的question关于将 Abaqus 特定的 Python 库集成到托管的项目中PyDev Eclipse 但不幸的是 答案与我手头的问题不兼容 我在用ABAQUS版本 6 11 2 和社区版PyCharm 3 1 3 Abaq
  • 使用 pdb 文件进行调试时,VS2017 阻止不存在的目标文件

    我们正在将 Visual C 项目切换到 vc141 工具链 VS 2017 我们遇到了 Visual Studio 无法使用 pdb文件的来源 obj文件不再存在 例如 因为它们已在构建服务器上编译 让我们看一个非常简单的可执行项目 in
  • C++ 中的 const char*

    C 中的字符串表达式如何工作 考虑 include