标签: nullptr

C++ 不可能的 nullptr 调用之谜

所以我决定在我的项目中摆脱单例并引入依赖注入。我做了所有必要的更改,但遇到了一个小问题:无论我做什么,我的 NetworkService 都会被调用,无论它是否已初始化为 nullptr。我开始调查,我得到了一个不可能的场景。我感到无能为力,我放弃了。我不知道这段代码如何毫无问题地执行:

    auto impossible_response = ((NetworkService*)nullptr)->post(
            format_url("/api/data/fetch/"),
            payload.dump(),
            headers);
    log.crit("How did this succeeded? Please help me, StackOverflow");
Run Code Online (Sandbox Code Playgroud)

记录消息

我正在通过 Gradle 使用 G++ (C++20) 在 ArcoLinux 上编译我的代码。我已经尝试从头开始重建它,而不使用以前版本的任何缓存。

c++ nullptr

0
推荐指数
1
解决办法
166
查看次数

如何在c ++ 98中定义我们自己的nullptr?

实际上我正在编写我自己的所有库类的版本,我不想将STL文件包含到我的类文件中.因此,例如,我想检查节点是否等于null.如果我写的东西像

#define nullptr 0
Run Code Online (Sandbox Code Playgroud)

然后它不使用其他节点指针(即Node *root = nullptr)

c++ nullptr

-3
推荐指数
2
解决办法
1503
查看次数

c ++ std :: vector"this"是"nullptr"

由于某种原因,我不能在datacenter.cpp中使用vector _vec.它说" 这个 "是"nullptr"

请帮助,谢谢<3

datacenter.h

#pragma once
#include <iostream>
#include <vector>

class datacenter
{
public:
    datacenter();
    ~datacenter();

    void get_elements();

    std::vector<float> _vec;
};
Run Code Online (Sandbox Code Playgroud)

datacenter.cpp

#include "datacenter.h"

datacenter::datacenter(){}

void datacenter::get_elements()
{
if (_vec.empty()) { //<---- the error appears here
    std::cout << "empty" << std::endl;
    }
}

datacenter::~datacenter(){}
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include <iostream>
#include <vector>
#include "datacenter.h"

class datacenter;

int main()
{
std::unique_ptr<datacenter> dc;
dc->get_elements();
}
Run Code Online (Sandbox Code Playgroud)

c++ smart-pointers vector init nullptr

-3
推荐指数
1
解决办法
689
查看次数

为什么重新分配先前分配为 nullptr 的指针无效?

我是 C++ 新手,正在阅读《使用 C++ 的编程原理和实践》一书。我遇到了一些我无法完全理解的事情。希望有人能帮助我理解这一点。

为什么这是无效的?

int* p = nullptr;
*p = 7;
Run Code Online (Sandbox Code Playgroud)

c++ pointers nullptr

-3
推荐指数
1
解决办法
264
查看次数

标签 统计

c++ ×4

nullptr ×4

init ×1

pointers ×1

smart-pointers ×1

vector ×1