小编Vic*_*mar的帖子

当获取它的线程退出时,Mutex会发生什么?

假设有两个线程,主线程和线程B(由main创建).如果B获得了一个互斥锁(比如pthread_mutex)并且在没有解锁锁的情况下调用了pthread_exit.那么互斥体会发生什么?它变得免费吗?

c multithreading pthreads

17
推荐指数
2
解决办法
7510
查看次数

矩形内的Svg剪辑路径不起作用

我有一个带有x和y轴的简单图形.我不希望我在其中绘制的绘图区域与轴重叠.

我正在使用d3来创建我的图表,但剪辑路径不起作用:

http://jsfiddle.net/EqLBJ/

var margin = {top: 19.5, right: 19.5, bottom: 19.5, left: 39.5},
    width = 960 - margin.right,
    height = 500 - margin.top - margin.bottom;

var xScale = d3.scale.linear().
    domain([xMin, xMax]). // your data minimum and maximum
    range([0, width]); // the pixels to map to, e.g., the width of the diagram.

var yScale = d3.scale.linear().
    domain([yMax, yMin]). 
    range([0, height]); 

var xAxis = d3.svg.axis().orient("bottom").scale(xScale).ticks(10, d3.format(",d")),
    yAxis = d3.svg.axis().orient("left").scale(yScale);


var chart = d3.select("#chart").append("svg")
    .attr("class", "chart")
    .attr("width", width + margin.left + margin.right) …
Run Code Online (Sandbox Code Playgroud)

svg d3.js

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

从const引用初始化非const对象时防止复制

关于C++引用语义,我现在有点困惑.假设我有一个返回const引用的类:

class foo
{
private:
    std::map<int, int> stuff;
public:
    const std::map<int, int>& getStuff()
    {
        return stuff;
    }
};
Run Code Online (Sandbox Code Playgroud)

我用它如下:

foo f;
const std::map<int, int>& s = f.getStuff();
Run Code Online (Sandbox Code Playgroud)

这很好,但如果我按如下方式使用它:

foo f;
std::map<int, int> s = f.getStuff();
Run Code Online (Sandbox Code Playgroud)

究竟发生了什么?

如果我理解正确的话,会stuff返回一个const引用,并创建一个副本s,我可以肆虐.有没有办法避免这种情况?

编辑:

所以没有办法避免在这里调用复制构造函数,对于std :: map反正...

c++ const reference

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

C++字符串文字与const字符串

我知道C/C++中的字符串文字具有静态存储持续时间,这意味着它们"永远"存在,即只要程序运行.

因此,如果我有一个非常频繁调用的函数并使用字符串文字,如下所示:

void foo(int val)
{
    std::stringstream s;
    s << val;
    lbl->set_label("Value: " + s.str());
}
Run Code Online (Sandbox Code Playgroud)

set_label函数将a const std::string&作为参数.

我应该使用const std::string这里而不是字符串文字还是没有区别?

我需要尽可能减少运行时内存消耗.

编辑:

我的意思是将字符串文字与const std::string prefix("Value: ");在某种常量头文件中初始化的字符串文字进行比较.

此外,这里的连接返回一个临时的(让我们调用它,Value: 42并将一个对这个临时的const引用传递给函数set_text(),我是否正确?

再次感谢你!

c++ string const literals

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

c ++传递字符串文字而不是const std :: string&?

我有以下代码,使用g ++编译没有警告(-Wall -pedantic)

#include <iostream>
#include <string>

using namespace std;

class Foo
{
public:
    Foo(const std::string& s) : str(s)
    { }

    void print()
    {
        cout << str << endl;
    }

private:
    const std::string& str;
};


class Bar
{
public:

    void stuff()
    {
        Foo o("werd");
        o.print();
    }
};


int main(int argc, char **argv)
{
    Bar b;
    b.stuff();

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

但是当我运行它时,只打印出换行符.到底是怎么回事?

如果我要在里面做这件事:

string temp("snoop");
Foo f(temp);
f.print();
Run Code Online (Sandbox Code Playgroud)

然后它工作正常!

c++ string reference literals

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

Point类的Java hashCode

我有一个简单的自定义Point类,如下所示,我想知道我的hashCode实现是否可以改进,或者这是否是最好的.

public class Point 
{
    private final int x, y;

    public Point(int x, int y)
    {
        this.x = x;
        this.y = y;
    }

    public int getX() 
    {
        return x;
    }

    public int getY()
    {
        return y;
    }

    @Override
    public boolean equals(Object other) 
    {
        if (this == other)
          return true;

        if (!(other instanceof Point))
          return false;

        Point otherPoint = (Point) other;
        return otherPoint.x == x && otherPoint.y == y;
    }


    @Override
    public int hashCode()
    {
        return (Integer.toString(x) + "," + Integer.toString(y)).hashCode(); …
Run Code Online (Sandbox Code Playgroud)

java hash-code-uniqueness hashcode

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

Combobox onkeypress事件的自动完成功能会占用Enter键

我有一个ComboBox,AutoCompleteMode = suggest并处理KeyPress事件,如下所示:

private void searchBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Return)
    {
        // do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,它没有抓住Enter关键.它可以捕获其他所有内容,因为自动完成下拉列表工作正常.

我也尝试了这里提供的建议:http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/2db0b540-756a-4a4f-9371-adbb92409806,将表单的KeyPreview属性设置为true并放置断点在窗体的KeyPress事件处理程序中:

private void Form_KeyPress(object sender, KeyPressEventArgs e)
{
    e.Handled = false;
}
Run Code Online (Sandbox Code Playgroud)

但是,即使表单的处理程序没有捕获回车键!

有什么建议?

(如果我禁用自动完成功能,它会捕获Enter键)

.net c# autocomplete winforms c#-2.0

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

jdbcTemplate query()是否保证维持结果集顺序?

我的问题类似于在这里提出的问题:http : //forum.springsource.org/showthread.php?84508-jdbctemplate.query()-sorted-result-set但未提供明确答案- ArrayList不保证订购。

基本上,我想知道by返回的调用是否jdbcTemplate.query()保证结果集的顺序,以及是否可以将其转储到a LinkedList并将其传递给:)

谢谢!

编辑:我应该澄清查询确实包含一个order by子句,因此我对保证顺序的结果集的要求。对于ArrayList不这样做,我是不正确的。由于jdbcTemplate是接口,因此实现将取决于db库。我是否应该假设ArrayList将使用an 或再次对其进行排序以确保安全?

java sorting spring jdbctemplate

4
推荐指数
2
解决办法
4560
查看次数

c ++ std :: move confusion

我对以下代码片段中发生的事情感到困惑.这move真的有必要吗?返回临时集的最佳+安全方法是什么?

set<string> getWords()
{
    set<string> words;

    for (auto iter = wordIndex.begin(); iter != wordIndex.end(); ++iter)
    {
        words.insert(iter->first);
    }

    return move(words);
}
Run Code Online (Sandbox Code Playgroud)

我的调用代码就是这样 set<string> words = foo.getWords()

c++ c++11

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

玩框架相当打印日期

我一直在谷歌搜索一段时间,但我似乎无法弄清楚如何在模板中打印一个java日期

我的application.conf包含

date.format="yyyy-MM-dd hh:mm:ss"
Run Code Online (Sandbox Code Playgroud)

这就是我在模板中尝试的内容

${(event.date).format('dd MMMM yyyy')}
Run Code Online (Sandbox Code Playgroud)

活动成员看起来像

@Required
public Date date;
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,欢呼!

java playframework playframework-2.1

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

如何在 C++ 中设置 json 库?(微软视觉工作室)

我已经下载了 zip 格式的 nlohmann 库,我需要了解在哪里解压它。我知道这是一个只有头文件的库。我把它解压在下面吗

/usr/include 或者 /usr/include/c++/8

所以目录看起来像:

/usr/include/nholmann/include 或者 /usr/include/c++/8/nholmann/include

c++ json

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

从头文件创建目标文件?

是否可以从头文件创建目标文件(.o)?(.h/.hpp).所有代码都在标题中内联...

c++ g++

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