问题标签 [nullptr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1233 浏览

c++ - nullptr 是否释放指针的内存?

我要问的是,即使已为它分配了 nullptr,是否也应删除指针。

例如,在以下情况下:

内存在 nullptr 释放之前被占用还是我们面临内存泄漏?

0 投票
3 回答
110 浏览

c++ - 声明空堆栈的最有效方法是什么?

2个类(不使用库中的堆栈)

堆栈和节点

同时在主要

我的问题是字符串后面会出现一个 0(因为该方法需要返回一个 int)

有什么想法的朋友吗?

0 投票
1 回答
1106 浏览

c++ - 在具有 c++11 支持的 scopt 中未声明 nullptr

我已安装:gcc 版本 4.8.2 (Ubuntu 4.8.2-19ubuntu1)

作为 IDE,我使用 eclipse CDT 或 Code::Blocks,不管是哪一个。我现在会坚持使用 Code::Blocks。如果我在我的代码中使用空指针,我会得到:nullptr is not declared in this scope

所有与研究相关的交叉帖子只是说,如果编译器支持 C++11(版本 4.8.2 应该这样做),添加

作为参数。我在这两个IDE中都做了,没有打开错误信息。在 CodeBlocks 中,这是通过设置 -> 编译器(选择 Gnu GCC 编译器)并检查:让 g++ 遵循 C++11 ISO C++ 语言标准

我仍然收到错误消息。

0 投票
3 回答
854 浏览

c++11 - C++ nullptrt_t 作为构造函数中的参数

阅读一些代码,我发现一个类只接受新的 C++11nullptr_t作为参数。该类如下所示。

我是否正确地认为我唯一可以通过使用来构造对象nullptr

0 投票
3 回答
471 浏览

c++ - c ++通过多个函数传递nullptr

我在处理一些代码时遇到问题,我需要通过多层函数传递指针。指针可以为空,因此对于 nullptr 的情况,我对最终函数进行了重载。概念我有这样的东西:

对我来说,理想的行为是,如果test调用 的第一个版本test_ptr,但事实并非如此。是否有机会进行操作test以使其调用“正确”版本?

0 投票
2 回答
1179 浏览

c++ - 空参数检查 C++

我有一个函数可以解决 4 个运动学方程之一。参数是浮点数,有没有办法区分 NULL 参数和值为 0 的参数。我已经阅读了这个主题,似乎 NULL 和 0 是相同的。我想将 0 与“无”的形式区分开来的原因是因为 0 值分配了一个值,而“无”表明我们不知道该值是什么。

正如我已经讨论过的,“null”值不能为 NULL 或 0。如果参数都是指向浮点数的指针,如果我检查“nullptrs”,这会起作用吗?(不是我的主要问题)即使前一个问题是肯定的,我可以为非指针/引用类型使用什么值?(重新-主要问题的陈述)

0 投票
2 回答
10500 浏览

c++ - 警告:将 NULL 传递给 'std::thread::thread 的非指针参数

我要运行的功能:

我如何调用函数:

警告:

foob​​ar.h:223:9:警告:将 NULL 传递给 'std::thread::thread(_Callable&&, _Args&& ...) 的非指针参数 2 [with _Callable = void (*)(const foo*), _Args = {int}]' [-Wconversion-null]

我在这里想念什么?

当我用非NULL参数调用函数时,警告消失了。

0 投票
1 回答
4527 浏览

c# - 无法使用 CefSharp 嵌入式 Chromium 浏览器控件加载网页?

我有一个粗略的开始。首先,我尝试使用 NuGet 包。当我安装它们时,对CefSharp DLL的必要引用都没有出现在我的引用列表中。所以我通过搜索/packages子目录手动添加了它们。在构建我的项目后,我发现当我执行 URL 加载时什么也没发生。没有加载网页,没有错误消息,没有触发异常。没有什么。

我完全删除了CefSharp Nuget 包,并从 GitHub 下载了最新的 repo 源。我首先确保 CefSharp.WinForms.Example 项目中的 URL 加载工作正常。效果很好。然后,我将 CefSharp 解决方案中的必要项目集复制到我的项目解决方案中,直到我的解决方案正确构建。我从CefSharp.WinForms.Example项目中添加了 BrowserForm 表单,以确保它不是我的代码。但是,当我在运行时打开该表单时,在地址栏中输入一个 URL,然后单击Go按钮没有任何反应。就像从前一样。

我追踪了代码并在ManagedCefBrowserAdapter.h中找到了这个 C++ 方法的故障点:

事实证明,有一个非常奇怪的问题。当我将代码跟踪到“if”语句时,我看到cefFrame的值是:

但是,它显然不是 NULL,但它却被认为是。(或者我对 {CefRefPtr} 值的分析是错误的,我的分析也是如此。)

在任何一种情况下,“if”语句都将cefFrame的当前值视为等于nullptr并跳过调用cefFrame引用对象的LoadURL()方法的行。在我的 GitHub CefSharp repo 解决方案副本中,我跟踪了完全相同的代码,确实进入了“if”块并执行了LoadURL()方法。我检查了 cefFrame 的值,它与我的应用程序中的值相同。由于某些真正奇怪的原因,这里或我的应用程序中存在更隐蔽的问题,或者它确实将cefFrame{CefRefPtr}值视为相同nullptr不应该的时候。

如果有人对我如何在我的代码中工作有任何想法,我将不胜感激。

更新:我三重检查并且构建配置在 GitHub CefSharp 解决方案和我的项目之间是相同的。一切都设置为 x86,除了设置为 Win32 的核心项目(在这两种情况下)。

我刚刚进行了重建,除此之外,我浏览了每个包含的项目,并完全手动删除了 /bin 和 /obj 目录。现在,当我运行该项目时,正在发生一些不同的事情。每当我的代码尝试创建一个新的 BrowserTabUserControl 时,我都会得到一个未处理的异常:

我尝试在主项目中删除 CefSharp.Core 项目引用,并通过重新添加对 CefSharp.Core 项目的引用来重新添加它。但我仍然得到那个例外。

0 投票
1 回答
449 浏览

c++ - 查看 std::unique_ptr 及其 nullptr_t 构造函数

我试图理解为什么unique_ptr有一个 nullptr_t 构造函数

我以为这是因为正常的一个参数构造函数是显式的,因此会拒绝 nullptr 值:

但是当我构建一个示例时,它编译器很好:

这是输出:

为什么 std::unique_ptr 需要带有 nullptr_t 参数的额外构造函数?

0 投票
5 回答
4902 浏览

c++ - c++ 使用空指针访问静态成员

最近尝试了以下程序,它编译、运行良好并产生预期的输出,而不是任何运行时错误。

如果未初始化的指针用于访问类和/或结构成员行为是未定义的,但为什么也允许使用空指针访问静态成员。我的程序有什么危害吗?