问题标签 [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.
c++ - nullptr 是否释放指针的内存?
我要问的是,即使已为它分配了 nullptr,是否也应删除指针。
例如,在以下情况下:
内存在 nullptr 释放之前被占用还是我们面临内存泄漏?
c++ - 声明空堆栈的最有效方法是什么?
2个类(不使用库中的堆栈)
堆栈和节点
同时在主要
我的问题是字符串后面会出现一个 0(因为该方法需要返回一个 int)
有什么想法的朋友吗?
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++ 语言标准
我仍然收到错误消息。
c++11 - C++ nullptrt_t 作为构造函数中的参数
阅读一些代码,我发现一个类只接受新的 C++11nullptr_t
作为参数。该类如下所示。
我是否正确地认为我唯一可以通过使用来构造对象nullptr
?
c++ - c ++通过多个函数传递nullptr
我在处理一些代码时遇到问题,我需要通过多层函数传递指针。指针可以为空,因此对于 nullptr 的情况,我对最终函数进行了重载。概念我有这样的东西:
对我来说,理想的行为是,如果test
调用 的第一个版本test_ptr
,但事实并非如此。是否有机会进行操作test
以使其调用“正确”版本?
c++ - 空参数检查 C++
我有一个函数可以解决 4 个运动学方程之一。参数是浮点数,有没有办法区分 NULL 参数和值为 0 的参数。我已经阅读了这个主题,似乎 NULL 和 0 是相同的。我想将 0 与“无”的形式区分开来的原因是因为 0 值分配了一个值,而“无”表明我们不知道该值是什么。
正如我已经讨论过的,“null”值不能为 NULL 或 0。如果参数都是指向浮点数的指针,如果我检查“nullptrs”,这会起作用吗?(不是我的主要问题)即使前一个问题是肯定的,我可以为非指针/引用类型使用什么值?(重新-主要问题的陈述)
c++ - 警告:将 NULL 传递给 'std::thread::thread 的非指针参数
我要运行的功能:
我如何调用函数:
警告:
foobar.h:223:9:警告:将 NULL 传递给 'std::thread::thread(_Callable&&, _Args&& ...) 的非指针参数 2 [with _Callable = void (*)(const foo*), _Args = {int}]' [-Wconversion-null]
我在这里想念什么?
当我用非NULL
参数调用函数时,警告消失了。
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 项目的引用来重新添加它。但我仍然得到那个例外。
c++ - 查看 std::unique_ptr 及其 nullptr_t 构造函数
我试图理解为什么unique_ptr
有一个 nullptr_t 构造函数
我以为这是因为正常的一个参数构造函数是显式的,因此会拒绝 nullptr 值:
但是当我构建一个示例时,它编译器很好:
这是输出:
为什么 std::unique_ptr 需要带有 nullptr_t 参数的额外构造函数?
c++ - c++ 使用空指针访问静态成员
最近尝试了以下程序,它编译、运行良好并产生预期的输出,而不是任何运行时错误。
如果未初始化的指针用于访问类和/或结构成员行为是未定义的,但为什么也允许使用空指针访问静态成员。我的程序有什么危害吗?