小编F. *_* P.的帖子

官方Kinect SDK与开源替代品

他们在哪里有所不同?

选择libfreenect或OpenNI + SensorKinect有什么好处,例如,官方SDK,反之亦然?

有什么缺点?

kinect

59
推荐指数
2
解决办法
3万
查看次数

编译器警告 - 建议用作真值的赋值括号

当我尝试编译下面的代码时,我收到此警告:

warning: suggest parentheses around assignment used as truth value

为什么会这样?我相信这是一个相当普遍的习语.我甚至在我的代码中使用了类似的东西.

struct PIDList* 
getRecordForPID(struct PIDList* list, pid_t pid) {
    while(list = list->next)
        if (list->pid == pid)
            return list;

    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

c compiler-construction compiler-warnings

43
推荐指数
3
解决办法
10万
查看次数

'friend'函数和<<运算符重载:为类重载运算符的正确方法是什么?

在我正在进行的项目中,我有一个Score类,定义如下score.h.我试图超载它,因此,当对其<<执行操作时,_points + " " + _name打印.

这是我试图做的事情:

ostream & Score::operator<< (ostream & os, Score right)
{
    os << right.getPoints() << " " << right.scoreGetName();
    return os;
}
Run Code Online (Sandbox Code Playgroud)

以下是返回的错误:

score.h(30) : error C2804: binary 'operator <<' has too many parameters
Run Code Online (Sandbox Code Playgroud)

(此错误实际出现4次)

我设法通过将重载声明为友元函数来使其工作:

friend ostream & operator<< (ostream & os, Score right);
Run Code Online (Sandbox Code Playgroud)

Score::从score.cpp中删除函数声明(实际上没有将其声明为成员).

为什么这样做,但前一段代码没有?

谢谢你的时间!

编辑

我删除了头文件上的重载的所有提及...但我得到以下(和唯一)错误.binary '<<' : no operator found which takes a right-hand operand of type 'Score' (or …

c++ class operator-overloading friend friend-class

22
推荐指数
3
解决办法
6万
查看次数

无法在C++中添加字符串

#include <iostream>


int main()
{
    const std::string exclam = "!";
    const std::string message = "Hello" + ", world" + exclam;
    std::cout << message;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么这段代码不起作用?错误返回:

error: invalid operands of types `const char[6]' and `const char[8]' to binary `operator+'
Run Code Online (Sandbox Code Playgroud)

提前致谢!

编辑:

感谢所有的答案.这是我第一次访问该网站,我对如此短暂的时间间隔内精心解释的数量感到惊讶.

关于实际问题.那为什么会这样:

const std::string hello = "Hello";
const std::string message = hello + ", world" + "!";
Run Code Online (Sandbox Code Playgroud)

是因为",世界"还是之后"!" 得到与变量hello(定义)连接?

c++

21
推荐指数
4
解决办法
7290
查看次数

使用信号量实现N过程障碍

我目前正在接受以前迭代的OS考试培训,我遇到了这个:

实现"N进程障碍",即确保一组中的每个进程在其各自的执行中的某个时刻等待其他进程到达其给定点.

您有以下操作:

init(sem,value), wait(sem) and signal(sem)

N是任意数.我可以使它适用于给定数量的进程,但不适用于任何数字.

有任何想法吗?用伪代码回复是可以的,这不是一项任务,只是个人学习.

computer-science operating-system semaphore systems-programming barrier

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

C++ - 用于大量可搜索数据的高效容器?

我正在为一个College项目实现一个基于文本的Scrabble版本.

我的字典很大,重约400,000字(std::string).

如果我选择vector<string>(O(n)),那么在效率方面搜索有效的单词会很麻烦.有什么好的选择吗?请记住,我已入读大一新生.没什么太复杂了!

谢谢你的时间!

弗朗西斯科

c++ string performance search

16
推荐指数
4
解决办法
4895
查看次数

算法的大O复杂性 - LZW和Huffman

对于Lempel-Ziv-Welch和Huffman压缩算法,Big O表示法的空间和时间复杂性有哪些?谷歌让我失望.

谢谢,

弗朗西斯科

compression algorithm big-o time-complexity space-complexity

12
推荐指数
2
解决办法
8430
查看次数

用Prolog优化约束逻辑程序中的寻路

我正在研究一个小的prolog应用程序,以解决摩天大楼和栅栏难题.

一个未解决的难题:

围栏中的摩天大楼拼图(未解决)

一个解决的难题:

围栏中的摩天大楼拼图(已解决)

当我通过程序已经解决的谜题时,它很快,几乎是即时的,为我验证它.当我通过程序真正的小谜题(例如,2x2,当然有修改的规则),找到解决方案也很快.

问题在于计算具有6x6"原生"大小的谜题.我让它在中止前运行了5个小时左右.太多时间了.

我发现花费时间最长的部分是"围栏",而不是"摩天大楼".分别运行"摩天大楼"可以快速解决问题.

这是我的栅栏算法:

  • 顶点用数字表示,0表示路径不通过该特定顶点,> 1表示顶点在路径中的顺序.
  • 约束每个单元格以使其周围有适当数量的线条.
    • 这意味着如果它们具有连续数字,则连接两个顶点,例如,1 - > 2,2 - > 1,1 - > Max,Max- > 1(Max是路径中最后一个顶点的数字.计算通过maximum/2)
  • 确保每个非零顶点至少有两个具有连续数字的相邻顶点
  • 约束Max等于(BoardWidth + 1)^2 - NumberOfZeros(BoardWidth+1是沿边缘的顶点数,并NumberOfZeros通过计算count/4).
  • 使用nvalue(Vertices, Max + 1)以确保不同值的数量VerticesMax(即顶点的路径数)加1(零个值)
  • 找到包含a的第一个单元格3并强制路径开始和结束,以提高效率

我该怎么做才能提高效率?代码包含在下面以供参考.

skyscrapersinfences.pro

:-use_module(library(clpfd)).
:-use_module(library(lists)).

:-ensure_loaded('utils.pro').
:-ensure_loaded('s1.pro').

print_row([]).

print_row([Head|Tail]) :-
    write(Head), write(' '),
    print_row(Tail).

print_board(Board, BoardWidth) :-
    print_board(Board, BoardWidth, …
Run Code Online (Sandbox Code Playgroud)

prolog path-finding constraint-programming sicstus-prolog clpfd

12
推荐指数
3
解决办法
1653
查看次数

Java Swing - 如何向下滚动JTextArea?

我有一个基本聊天应用程序.我JTextArea用于缓冲区.添加消息后,我想滚动到底部.怎么能实现这一目标?

我发现没有会员功能允许我这样做.

java swing scroll jtextarea

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

Boost - unordered_set教程/ examples/ANYTHING?

我想unordered_set在一个项目中使用.

但是,它的文档要么不完整,要么只是技术参考,没有示例.

任何人都可以提供与处理它的在线资源的链接吗?书籍也欢迎,最好免费.Google搜索没有带来任何价值.

谢谢!

c++ boost stl unordered-set c++11

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