小编Sau*_*ahu的帖子

什么时候std :: is_convertible考虑原始类型可转换?

使用std :: is_convertible:

bool i2c = std::is_convertible<int, char>::value;
bool c2i = std::is_convertible<char, int>::value;
bool f2i = std::is_convertible<float, int>::value;

std::cout << std::boolalpha;
std::cout << i2c << '\n';  //prints true
std::cout << c2i << '\n';  //prints true
std::cout << f2i << '\n';  //prints true
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么输出必须true适用于所有上述情况,当它们看起来是可转换的(类型转换可能导致精度损失).或者我们不应该使用原始类型进行比较std::is_convertible

c++ primitive-types

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

在指向数组的指针上调用memset?

我不认为我在这里有所了解......

bool (*lookup)[100];
memset(lookup, 0, 100 * sizeof(*lookup));
Run Code Online (Sandbox Code Playgroud)

我正在尝试初始化指向堆栈分配数组的指针(指针只会传递给堆栈帧内的调用).memset用于将数组初始化为0.

前面的代码会导致段错误,memset不像指针吗?

c memset

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

use-declarations是静态的吗?

我对使用声明有点困惑.我理解using foo::bar;将符号bar从命名空间foo导入当前命名空间,但这是静态还是动态发生的?

更具体地说,使用声明会导致开销吗?是否可以根据条件导入具有相同名称的不同符号?(这将是不好的做法,但我很好奇所有相同)

感觉它应该是静态的,但我找不到任何东西来证实这一点......

c++ using-directives

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

碰撞链中的散列码碰撞处理

让我们考虑一下HashMap,它使用单独的链接来解决哈希码冲突.

如果我有多个条目,其中hascode是相同的,则冲突机制形成所有这些条目的链表链.

现在,让我们考虑一个案例,其中这样的链表存在:

(K1,V1,->) (K2,V2, ->) (K7,V7,->) (K9,V9,)
Run Code Online (Sandbox Code Playgroud)

现在有一个新条目进入,哈希码的格式相同,键的值与K7相同.它会覆盖K7的现有价值吗?

java hashmap hash-collision

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

为什么在c ++语言中使用命名空间std是必须的?

这是一个简单的程序,我的问题是要知道为什么使用命名空间std是必须的?为什么不使用这个程序就不遵守程序?

#include <iostream>

using namespace std;

int main(){

    int a , b , c , d;

    cout << "Enter First Value" <<endl;
    cin >> a;

    cout << "Enter Second Value" <<endl;
    cin >> b;

    cout << "Enter 1 to add values" << endl  << "Enter 2 to subtract values" <<endl  <<"Enter 3 to multiply values" <<endl ;
    cin >> c;

    if (c == 1){    
        d = a + b;
        cout << "After Adding your answer is " << d << …
Run Code Online (Sandbox Code Playgroud)

c++ using

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

c ++覆盖继承是否可能和良好做法?

c ++中的以下结构是否可行且推荐?

class IColour{}

class Grey: public IColour {}

class DarkGrey: public IColour {}

class IMaterial {}

class Rock: public Material, public Grey {}

class Basalt : public Rock, public DarkGrey {}
Run Code Online (Sandbox Code Playgroud)

有没有办法覆盖派生类中基类的继承?也就是说,是否有可能在玄武岩中用DarkGrey覆盖Gray的继承?

c++ design-patterns

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

逻辑OR运算符结果为rvalue

我在进行代码审查时发现了这段代码.这段代码中是否有任何隐藏的问题或它是否正常?

myBool = myBoolA || ( oldState == AS_PLAYING );   //code #1
Run Code Online (Sandbox Code Playgroud)

编辑:一个打字错误(myBoolA取代myBool)由我创造了一些令人讨厌的混乱; 我很抱歉.

实际上要审查的代码是:

myBool = myBool || ( oldState == AS_PLAYING );   //code #1, not myBoolA
Run Code Online (Sandbox Code Playgroud)

我建议的代码是:

if( oldState == AS_PLAYING ) myBool = true;   //code #2
Run Code Online (Sandbox Code Playgroud)

代码#2 IMO的优点:

  1. 更好的可读性
  2. 如果myBool是未初始化的,则不会有未定义的行为.

c++ language-agnostic logic

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

Python的len()内置时间复杂度O(1)背后的秘密是什么

由于Python是用C实现的,我很困惑开发人员如何设法使Python内置len函数在常量时间O(1)上的任何序列上运行,而C的字符串函数strlen以线性时间O(n)运行.

Python内置len函数的时间复杂性背后的秘密是什么?如果我们用C编写程序,len如果我们想要一个快速的C程序涉及序列长度,那么复制Python代码是最佳做法吗?

c python time-complexity

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

类型必须在 for 理解中对齐是什么意思?

有人可以详细说明当类型必须与 Scala 保持一致以进行理解时这意味着什么吗?

for {
..
..
}
Run Code Online (Sandbox Code Playgroud)

如果调用都返回 Futures 那么它会好吗?只是想了解它什么时候起作用,什么时候不起作用。

scala for-comprehension

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

使用正则表达式查找字符串中的第一个单词和最后几个单词

使用这两个正则表达式regPrefixregSuffix,

final String POEM = "1. Twas brillig, and the slithy toves\n" + 
                    "2. Did gyre and gimble in the wabe.\n" +
                    "3. All mimsy were the borogoves,\n" + 
                    "4. And the mome raths outgrabe.\n\n";

String regPrefix = "(?m)^(\\S+)";   // for the first word in each line.
String regSuffix = "(?m)\\S+\\s+\\S+\\s+\\S+$";  // for the last 3 words in each line.
Matcher m1 = Pattern.compile(regPrefix).matcher(POEM);
Matcher m2 = Pattern.compile(regSuffix).matcher(POEM);

while (m1.find() && m2.find()) {
    System.out.println(m1.group() + " …
Run Code Online (Sandbox Code Playgroud)

java regex string

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