小编Pol*_*878的帖子

这是线程安全的Queue类的正确方法吗?

我想知道这是否是在C++中编写线程安全队列的正确方法?

template <class T>
class Queue
{
public:

Queue() {}

void Push(T& a)
{
    m_mutex.lock();
    m_q.push_back(a);
    m_mutex.unlock();
}

T& Pop()
{
    m_mutex.lock();
    T& temp = m_q.pop();
    m_mutex.unlock();
    return temp;
}

private:
    std::queue<t> m_q;
    boost::mutex m_mutex;
};
Run Code Online (Sandbox Code Playgroud)

你明白了......我只是想知道这是不是最好的方法.谢谢!

编辑: 由于我得到的问题,我想澄清互斥量是一个boost :: mutex

c++ concurrency multithreading thread-safety

7
推荐指数
3
解决办法
4416
查看次数

.NET正则表达式中的(?i)是什么意思?

在我们的代码中,有一个以下形式的正则表达式:

string regex = @"(?i)foo=(BAR?-[A-Z]+(33|34)?)";
Run Code Online (Sandbox Code Playgroud)

(?i)正则表达式开头的" "匹配/做什么?我查看了.NET正则表达式文档,似乎无法弄清楚(?i)意味着什么.谢谢!

.net c# regex

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

如何从C中的二进制文件中读取浮点数?

一切我通过谷歌发现是垃圾...请注意,我想要的答案 Ç,但是如果你用C++解决方案补充你的答案,以及那么你获得积分!

我只是想能够从二进制文件中读取一些浮点数到一个数组中

编辑:是的我知道Endian-ness ...而且我不在乎它是如何存储的.

c c++ file-io

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

开源C++游戏引擎数学库?

我正在寻找一个免费使用的游戏引擎数学库.具体来说,我想要一个好的矩阵和向量实现.并且需要在3D空间中移动对象.有谁知道任何好的?我的目标是OpenGL.我想自己写,但没有时间.

c++ opengl

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

获得以下构建错误:"类型{---}无法解析.它是从所需的.class文件间接引用的"

所以,我在Eclipse(Java)中有以下设置:

  1. 我有一个项目(让我们称之为"项目1"),它提供了一个接口(包是私有的)
  2. 我有另一个项目("项目2"),它包含项目1中的包...此包中的类扩展了"项目1"中的包私有接口,并提供了一个很好的公共接口.
  3. 现在,我有"项目3",它引用了"项目2".然后,项目3使用项目2中提供的公共对象.

从项目3中的项目2调用构造函数后,我得到以下内容:

"类型{---}无法解析.它是从所需的.class文件间接引用的"

如果我从项目3添加对项目1的引用,一切都很好.有没有办法不用这种方式引用项目3?引用它真的没有意义.

我正在使用Eclipse(Helios)和最新的JDK等...

java eclipse

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

最佳实践:从switch语句的case块中返回方法?

哪种从switch语句返回bool的方法更可取?我知道这可能是主观的,但我觉得对我们的职业来说,获得最佳实践的意见很重要:).

public bool foo(param)
{
    switch (param)
    {
        case 1:
            if (something)
            {
                return true;
            }

            return false;    
        default:
            return false;
     }
}
Run Code Online (Sandbox Code Playgroud)

- 要么 -

public bool foo(param)
{
    bool flag = false;

    switch (param)
    {
        case 1:
            if (something)
            {
                flag = true;
            }
            break;
        default:
            break;
     }

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

.net c#

6
推荐指数
2
解决办法
3162
查看次数

固定位置div不包含在包装div中,覆盖整个屏幕?

我正在尝试使固定位置div保持在外部div中.我希望固定位置div的宽度为100%.但是,当我将宽度设置为100%时,固定位置div覆盖整个屏幕并覆盖Firefox/IE8等中的滚动条.以下是我正在谈论的示例:

<div style="width: 380px; height: 125px;overflow-y: scroll;overflow-x: hidden;">
    <div style="position:fixed;width:100%;">
        <div style="width: 100%;background: red; text-align: center; height:50px;">header</div>
    </div>

    <div style="margin-top: 50px; height:250px;">
        Contents here<br />
        Contents here<br />
        Contents here<br />
        Contents here<br />
        Contents here<br />
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,外部div的宽度为380像素...所以,我认为固定位置div不可能延伸到这个边界之外,但它确实如此.

我究竟做错了什么?

谢谢!

html css html5

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

如何从滚动,俯仰和偏航中获取摄像机向量?

我需要从滚动,俯仰和偏转角度(以度为单位)获得摄像机的向上矢量(以获得正确的外观).我已经尝试了几个小时的不同的事情,并没有运气:(.任何帮助在这里将不胜感激!

opengl directx 3d graphics xna

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

什么HTTP标头/响应触发脚本标签上的"onerror"处理程序?

我正在script像这样在DOM中插入一个标签(想想JSONP):

var s = document.createElement('script');
s.src = "http://abc.com/js/j.js";
s.onerror = function() {
   alert("Error loading script tag!");
};
document.getElementsByTagName('head')[0].appendChild(s);
Run Code Online (Sandbox Code Playgroud)

现在,我知道上面脚本的404响应abc.com会触发该事件......还有哪些标头/响应会导致script标签抛出错误?我想它会因浏览器而有所不同,但是如果有人有任何类型的列表会非常有用.

谢谢!

html javascript dom

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

使用app.context时,Grails重定向到错误的地址?

redirect当我app.context以某种方式设置时,我注意到一些奇怪的行为.我在Grails JIRA中发现了一个错误,它完美地描述了我的问题,但它被标记为UTR:http://jira.grails.org/browse/GRAILS-7546


以下是我对问题的描述:
我目前正在使用Grails 2.0M2.我在application.properties文件中定义了以下属性:

app.context=/
app.name=foobar
Run Code Online (Sandbox Code Playgroud)

当我redirect在控制器中调用时,redirect将应用程序名称添加到我提供的uri上,然后生成404.以下是我这样做的方式:

String partialUrl = createLink(mapping: 'helloworld') // returns `/hello/world`
redirect(uri: partialUrl) // INCORRECTLY redirects to 
                          // `http://mysite.com/foobar/hello/world`
                          // instead of `http://mysite.com/hello/world`
Run Code Online (Sandbox Code Playgroud)

假设我有一个名为helloworld在我的UrlMappings.groovy文件中定义的URL映射,其路径为/hello/world.

所以,长话短说,如果我设置app.context/,我希望它app.name出现在我的最终重定向URL中.

这是一个错误还是预期的行为?有什么想法,我可以建立重定向网址,而无需做太多的手动步骤?

java model-view-controller grails groovy

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