小编Ste*_*rad的帖子

使用自定义比较器在c ++中声明priority_queue

我试图声明一个priority_queue of nodes,bool Compare(Node a, Node b)用作比较器函数(在节点类之外).

我现在拥有的是:

priority_queue<Node, vector<Node>, Compare> openSet;
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我得到了 Error: "Compare" is not a type name

将声明更改为 priority_queue <Node, vector<Node>, bool Compare>

给我 Error: expected a '>'

我也尝试过:

priority_queue<Node, vector<Node>, Compare()> openSet;
priority_queue<Node, vector<Node>, bool Compare()> openSet;
priority_queue<Node, vector<Node>, Compare<Node, Node>> openSet; 
Run Code Online (Sandbox Code Playgroud)

我应该如何正确地宣布我的priority_queue

c++ std priority-queue

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

Java中的语法检查

我目前正在开发一个具有嵌入式文本编辑器的程序.用户应该在编辑器中键入java代码.然后将编入编辑器的代码转换为字符串.我只想要一些能够检查缺失括号或没有捕获的尝试等等.它不需要编译.我已经看了很多,但我仍然是编程的新手,无法实现一些更难的东西.

所以要缩短它:我正在寻找一些可以分析代码的语法错误的java包.

java syntax-checking

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

移动GWT Logging窗口

我目前正在使用GWT的内置记录器,但是它连接到RootPanel的方式很笨拙,并且它通常被置于顶部的任何面板遮挡.有人知道怎么搬吗?我从未将它附加到主面板上,看起来它自己附着了.谢谢.

java gwt logging

5
推荐指数
2
解决办法
2320
查看次数

JSLint4Java 用法

JSLint4Java 是 JSLint 的 Java 包装器。我需要这样的东西在我的 GWT 项目中使用,但使用 JSLint4Java 的唯一方法似乎是从命令行或通过 ANT 任务。有谁知道是否有任何方法可以导入 JAR 并在项目中使用它们?当我尝试将它们添加到 GWT WAR 文件夹时,我收到很多错误,例如“xxx 无法解析为类型”。谢谢。

jslint wrapper jslint4java

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

C++中的多线程效率

我正在尝试在 C++ 中学习线程,并且只是有一些关于它的问题(更具体地说是<thread>.

假设运行此代码的机器有 4 个内核,我应该将一个操作拆分为 4 个线程吗?如果我要创建 8 个线程而不是 4 个线程,这会在 4 核机器上运行得更慢吗?如果处理器具有超线程,我应该尝试使线程与物理内核或逻辑内核的数量相匹配吗?

我应该不担心机器拥有的核心数量,并尝试创建尽可能多的线程吗?

如果这些问题已经得到解答,我深表歉意;我一直在寻找有关线程 with 的信息<thread>,它是在 c11 中引入的,所以我找不到太多关于它的信息。

有问题的程序将运行许多独立的模拟。

如果有人对<thread>多线程有任何见解或只是一般的多线程,我会很高兴听到它。

c++ multithreading stl

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

在CMake中向库中添加标头

我有很多库看起来像这样:

libs

     \lib1-- src
          \- include

      \lib2--src
           \- include
Run Code Online (Sandbox Code Playgroud)

lib2需要lib1.我这样做的方法是做这样的事情:

lib2/CMakeLists.txt: 
    include ../lib1/include
    target_link_libraries(lib2 lib1)
Run Code Online (Sandbox Code Playgroud)

如何在lib2库中包含lib1头/包含文件?我目前正在尝试这样做,但在编译期间我得到的错误是lib2无法找到lib1头文件.

libs/CMakeLists.txt:

file(GLOB lib1_src
    "lib1/src/*.cc"
 )

#header files
file (GLOB lib1_h
    "lib1/include/*.h"
 )


file(GLOB lib2_src
    "lib2/src/*.cc"
 )

#header files
file (GLOB lib2_h
    "lib2/include/*.h"
 )

add_library(lib1 ${lib1_src} ${lib1_h})
add_library(lib2 ${lib2_src} ${lib2_h})
target_link_libraries(lib2 lib1)
Run Code Online (Sandbox Code Playgroud)

我可以通过添加include_directories(lib1/include)到它来使它工作,libs/CMakeLists.txt但我已经到了一个库需要3个其他的,每个需要3个其他的等等,并且它变得非常乏味.

c c++ compilation cmake

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

将Java.util.scanner与GWT一起使用

出于某种原因,当我尝试使用带有gwt的扫描仪时,我收到以下错误:

No source code is available for type java.util.Scanner; did you forget to inherit a required module?
Run Code Online (Sandbox Code Playgroud)

我环顾四周,似乎"没有源代码可用于类型xxxx"错误是由于没有Java类型的Javascript等效类型.扫描仪无法与GWT一起使用吗?

这是我的代码片段:

import java.util.Scanner;
...
public void submit(){
    String text = editor.getEditor().getText();
    Scanner input = new Scanner(text);
    while(input.hasNextLine()){
        String line = input.nextLine();
        if(line.contains("//")){
            cInfo.setDone(false);
            cInfo.setCode(text);
            return;
        }
        cInfo.setDone(true);
        cInfo.setCode(text);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

gwt java.util.scanner

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

为什么这是一个非详尽的搜索模式?

为什么这不是穷举,不放弃一个元素意味着这应该最终停止?

do_something :: [(String, String, Int)] -> String
do_something [(a, b, c)] = func(a, b, c) ++ do_something( drop 1 [(a, b, c)])
Run Code Online (Sandbox Code Playgroud)

recursion haskell

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

在C++中访问构造函数

我正在尝试使用类Node创建一个Node对象:

int main(){
    for(int i=0; i< 20; i++)
        Node *handle = new Node(i, 10);
}

class Node{
 public:
    static vector<Node> map;
    static int totalNodes;
    vector<Node> connections;   
    int NodeID;

    Node(int ID, int weight){
    NodeID = ID;
    CreateConnections(weight);
    totalNodes++;
    map.push_back(*this);
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我得到了

'Node' : undeclared identifier
'Node' handle : undeclared identifier
 syntax error : identifier node
Run Code Online (Sandbox Code Playgroud)

在课程结束后向下移动main()

unresolved external symbol 
for Node::map and Node::totalNodes
Run Code Online (Sandbox Code Playgroud)

我对C++有些新意,所以任何提示都会受到赞赏.

c++ oop constructor class

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

Dijkstra的算法伪代码

我正在尝试用C++编写Dijkstra的算法,互联网上有无数的例子,但我似乎无法理解这些例子的工作原理.我宁愿以对我有意义的方式去做,这样我就能更好地理解算法.我知道算法本身应该如何工作,我已经编写了一些代码.我想知道是否有人可以在我的思考过程中指出这个缺陷.我选择将我的图表表示为边缘列表.我会写伪代码,因为我的实际代码是一个巨大的混乱:

class Node{
   vector<node> linkVector;           //links to other nodes, generated at random
   int cost;                     //randomly generated by constructor
   bool visited = false;
}

vector<node> edgelist;           //contains all nodes


int main(){
   create n Nodes
   add all nodes to edgeList
   for each node {
      randomly add WEIGHT nodes to linkVector
   }
findPath(initialNode)
}

int findPath(Node start, node want, int cost=0){   //returns cost from src to dest
if(start==want) return cost;
if(every node has been visited) return 0;        //this is in case of failure …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm dijkstra pseudocode graph-algorithm

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