小编Bau*_*gen的帖子

如何修改现有的,未删除的提交?

我在提交消息中写了错误的东西.或者,我忘了包含一些文件.

如何更改提交消息/文件?提交尚未被推送.

git git-amend git-commit git-rewrite-history

7669
推荐指数
27
解决办法
246万
查看次数

什么是未定义的引用/未解析的外部符号错误,我该如何解决?

什么是未定义的参考/未解决的外部符号错误?什么是常见原因以及如何修复/预防它们?

随意编辑/添加您自己的.

c++ c++-faq linker-errors unresolved-external undefined-reference

1418
推荐指数
32
解决办法
52万
查看次数

是==和!=相互依赖?

我学习C++操作符重载,我看到==!=仅仅是可定制的用户定义类型的一些特殊功能.但我担心的是,为什么需要两个单独的定义?我认为如果a == b是真的,则a != b自动为假,反之亦然,并且没有其他可能性,因为根据定义,a != b!(a == b).我无法想象任何情况都不是这样.但也许我的想象力是有限的,或者我对某些东西一无所知?

我知道我可以用另一个来定义一个,但这不是我要问的.我也没有询问按价值或身份比较对象之间的区别.或者两个对象是否可以同时相等且不相等(这绝对不是一个选项!这些东西是相互排斥的).我问的是这个:

是否有任何情况可以提出有关两个对象相等的问题是否有意义,但是询问它们相等是没有意义的?(无论是从用户的角度,还是从实施者的角度来看)

如果没有这种可能性,那么为什么地球上C++会将这两个运算符定义为两个不同的函数?

c++ equality operator-overloading equality-operator

292
推荐指数
11
解决办法
2万
查看次数

为什么分配两个int在分配给double时不会产生正确的值?

为什么在下面的代码片段中呢?

int a = 7;
int b = 3;
double c = 0;
c = a / b;
Run Code Online (Sandbox Code Playgroud)

c最终得到的值是2,而不是2.3333,正如人们所期望的那样.如果ab双打,答案就变成2.333.但肯定是因为c 已经是双重它本来应该使用整数?

那怎么来int/int=double不行?

c++ variables double integer-division

94
推荐指数
7
解决办法
12万
查看次数

如何在React Native中设置默认字体系列?

在React Native中是否存在与此CSS相同的内容,以便应用程序在任何地方使用相同的字体?

body {
  font-family: 'Open Sans';
}
Run Code Online (Sandbox Code Playgroud)

在每个Text节点上手动应用它似乎过于复杂.

react-native

78
推荐指数
7
解决办法
7万
查看次数

clang's -Wweak-vtables是什么意思?

我基本上不懂clang的-Wweak-vtables.这是我到目前为止所观察到的:

案例一:(触发警告)

class A {
    public:
    virtual ~A(){}        
};

class B : public A {
    public:
    virtual ~B(){}
};

int main(){}
Run Code Online (Sandbox Code Playgroud)

案例二:(不触发警告)

class A {
    public:
    virtual ~A(){}        
};   

int main(){}
Run Code Online (Sandbox Code Playgroud)

案例三:(不触发警告)

class A {
    public:
    virtual ~A();

};

A::~A(){}

class B : public A {
    public:
    virtual ~B(){}
};

int main(){}
Run Code Online (Sandbox Code Playgroud)

案例四:(触发警告)

class A {
    public:
    virtual ~A(){}
    virtual void fun(){}        
};    

class B : public A {
    public:
    virtual ~B(){}
};

int …
Run Code Online (Sandbox Code Playgroud)

c++ clang

71
推荐指数
1
解决办法
2万
查看次数

比较悬空指针是否合法?

比较悬空指针是否合法?

int *p, *q;
{
    int a;
    p = &a;
}
{
    int b;
    q = &b;
}
std::cout << (p == q) << '\n';
Run Code Online (Sandbox Code Playgroud)

注意如何既pq点有对象已经消失了.这合法吗?

c++ pointers language-lawyer dangling-pointer

70
推荐指数
1
解决办法
2392
查看次数

将std :: __ cxx11 :: string转换为std :: string

我使用的是c ++ 11,还有一些没有为它配置的库,需要一些类型转换.特别是我需要一种方法转换std::__cxx11::string为常规std::string,但谷歌搜索我找不到一种方法来做到这一点,并放在(string)前面是行不通的.

如果我不转换,我会得到这样的链接器错误:

undefined reference to `H5::CompType::insertMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, H5::DataType const&) const'
Run Code Online (Sandbox Code Playgroud)

c++ string types std c++11

66
推荐指数
4
解决办法
8万
查看次数

覆盖非虚方法

让我们假设Visual C++ 2010中的这种情况:

#include <iostream>
#include <conio.h>

using namespace std;

class Base
{
public:
    int b;
    void Display()
    {
        cout<<"Base: Non-virtual display."<<endl;
    };
    virtual void vDisplay()
    {
        cout<<"Base: Virtual display."<<endl;
    };
};

class Derived : public Base
{
public:
    int d;
    void Display()
    {
        cout<<"Derived: Non-virtual display."<<endl;
    };
    virtual void vDisplay()
    {
        cout<<"Derived: Virtual display."<<endl;
    };
};

int main()
{
    Base ba;
    Derived de;

    ba.Display();
    ba.vDisplay();
    de.Display();
    de.vDisplay();

    _getch();
    return 0;
};
Run Code Online (Sandbox Code Playgroud)

从理论上讲,这个小应用程序的输出应该是:

  • 基础:非虚拟显示.
  • 基地:虚拟展示.
  • 基础:非虚拟显示.
  • 衍生:虚拟显示.

因为Base类的Display方法不是虚方法,所以Derived类不能覆盖它.对?

问题是,当我运行应用程序时,它会打印出:

  • 基础:非虚拟显示. …

c++ overriding

64
推荐指数
3
解决办法
5万
查看次数

什么是"int*p = + s;" 做?

我在这里看到了一种奇怪的程序.

int main()
{
    int s[]={3,6,9,12,18};
    int* p=+s;
}
Run Code Online (Sandbox Code Playgroud)

上面的程序在GCCClang编译器上进行了测试,并在两个编译器上都运行良好.

我很想知道,int* p=+s;做了什么?

数组是否已s衰减为指针类型?

c++ arrays pointers unary-operator

63
推荐指数
4
解决办法
7126
查看次数