小编Nov*_*tor的帖子

对于学习曲线和初学者的适合性(HTTP客户端),提升vs POCO

你建议我使用哪个图书馆?我不知道这些库中的任何一个.我听说,经常使用Boost,但也难以编码.

所以尽可能使这个问题成为客观:只是从初学者程序员的角度来看(我在生活中用C++编写了~1000 LOC)哪个库会更好学习?

我将主要用于HTTP客户端.

c++ boost poco-libraries

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

如何将数组拆分为n组?(factorize,或_.partition数组)

假设我有一个数组= [0,1,2,3,4,5,6]并且我希望将它"划分"为3个数组,基于3除以后的提醒.

所以基本上我想要的东西:

_.my_partition([0,1,2,3,4,5,6], function(item) {return item % 3;})
// [[0,3,6], [1,4],[2,5]]
Run Code Online (Sandbox Code Playgroud)

(我可以使用lodash,下划线,如果有帮助......)

javascript underscore.js lodash

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

如何从表格的第一列获取文本?

网页中有一个表(在我的例子中是http://developer.chrome.com/extensions/api_index),我想获取稳定 API 中的所有方法名称。所以我想得到一个数组,它的元素就是第一列中的东西。

怎么做?

$("table:eq(5) tr td:eq(0)")
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,因为它不能从所有行中的所有第一个 td 元素中获取文本,而只能从一行中获取文本。该怎么办?

jquery selector

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

手动设置char*的结尾不起作用

我写了这个简短的程序

int main(){
    char * c = "abcd";
    c[1] = '\0';
    cout << c << endl;
}
Run Code Online (Sandbox Code Playgroud)

并且它不起作用...实际上它编译程序但在运行时发生错误...为什么?我认为它将打印一个"a",因为"字符串"现在看起来像这样:"a0cd"所以在零之后它应该检测到字符串的结尾,对吧?那问题出在哪里?

谢谢!

c++ null char

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

为什么不"foo f();" 调用类"foo"的构造函数?

可能重复:
为什么使用一组空括号来调用没有参数的构造函数是错误的?

我碰到了以下问题.我创建了2个foo实例.然后我意识到,foo f();没有执行类的构造函数.这是为什么?

class foo{
public:
    foo() {cout <<"executed contructor...";}
};

int main() {
    foo f(); // doesn't run the ctor???? why?
    foo f2; // this one does execute the ctor


    system("pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ constructor execution

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

循环依赖......如何解决?

我认为我有一个循环依赖问题,并且不知道如何解决它....尽可能短:我编写类似html解析器的东西.我有一个main.cpp文件和两个头文件Parser.h和Form.h. 这些头文件包含整个定义......(我懒得制作相应的.cpp文件......

Form.h看起来像这样:

//... standard includes like iostream....

#ifndef Form_h_included
#define Form_h_included

#include "Parser.h"
class Form {
public:
    void parse (stringstream& ss) {

        // FIXME: the following like throws compilation error: 'Parser' : is not a class or namespace name
        properties = Parser::parseTagAttributes(ss);

        string tag = Parser::getNextTag(ss);
        while (tag != "/form") {
            continue;
        }
        ss.ignore(); // >
    }
// ....
};
#endif
Run Code Online (Sandbox Code Playgroud)

和Parser.h看起来像这样:

// STL includes
#ifndef Parser_h_included
#define Parser_h_included

#include "Form.h"

using namespace std;

class Parser {
public:
    void …
Run Code Online (Sandbox Code Playgroud)

c++ dependencies circular-dependency

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

当没有收到正确数量的参数时,str替换行为很有趣

"ahoj".replace("o")
//=> "ahundefinedj"
"ahoj".replace("q")
//=> "ahoj"
Run Code Online (Sandbox Code Playgroud)

这是为什么?如何实施替换?有什么方法可以看到实现本身吗?

javascript google-chrome

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

为什么我不能重载operator =?

我想让以下代码工作:

Mylist lst;
vector<int> v = lst;
Run Code Online (Sandbox Code Playgroud)

所以我看到我需要将列表转换为矢量.我试过这段代码:

vector<int> operator=(vector<int> v, const List & l) {
    return v; // more profound stuff later :-)
}
Run Code Online (Sandbox Code Playgroud)

(把它放在课外).不幸的是Visual Studio抛出了我:"错误:'operator ='必须是成员函数".我不明白 - 我该怎么办?我不能把这个功能放在矢量类中......你可以帮帮我吗?谢谢!

c++ operator-overloading assignment-operator implicit-conversion operator-keyword

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

为什么C中的布尔类型写为_Bool?

可能重复:
C中的_Bool和bool类型之间的区别?

我只是不明白.对我来说,它似乎非常不直观 - 与简单的"bool"相比:)

以这种方式称呼的动机是什么?

c standards boolean

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

为什么C/C++有不同于C#和Java等其他语言的头文件?

我对这个动机感兴趣 - C/C++的动机是什么让接口与头文件分离,为什么其他语言的作者没有借用这个概念并在其他(更新的)语言中使用它?这是不是意味着这个概念不好?

编辑:我不是在问为什么c/c ++使用头文件 - 我问为什么这个概念不会留在Java等新语言中.

c c# c++ java

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

为什么 Delegate 模式不属于 GoF 的 23 种设计模式?

根据维基百科,这是一种设计模式,但在 GoF 书中并未将其列为 23 种模式之一。为什么?

design-patterns

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

为什么用g ++编译的代码比微软编译器更紧密?

我有以下代码,使用g ++运行3秒,在微软编译器运行超过30秒,我不明白...

struct constraint{
    int bitline;
    int result;
};  

// this vector is filled with about 1 milion items
vector<constraint> constraints;

for (int a = 0; a < constraints.size(); ++a)
{
    if (a% 100 == 0) cout << a << " "<<endl;
    for (int b = a; b < constraints.size(); ++b)
    {
        int anded = constraints[a].bitline & constraints[b].bitline;
        int ored =  constraints[a].bitline | constraints[b].bitline;

        // a subset of b
        if (anded == constraints[a].bitline && constraints[a].result >= constraints[b].result )
        {
            // …
Run Code Online (Sandbox Code Playgroud)

c++ g++ vector

-5
推荐指数
1
解决办法
202
查看次数