问题列表 - 第40926页

这有可能实现使用某种魔法吗?

如果有一个返回负数,0或正数的函数.我想要的是在正数的情况下返回-1,在0的情况下返回0,在正数的情况下返回+1.

我可以使用某种小小的方式来实现这样的事情,还是我必须进行普通的比较?

c bit-manipulation

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

Qt设计师没有更新gui

之前有人在Qt设计器中写了一个GUI,现在我必须修改一些小部件(即添加一个按钮/功能).

前提:我在Designer中添加新功能/对.ui文件进行任何修改.我可以进入编辑模式,看到这会改变.ui文件的xml格式

问题:当我构建并运行Qt时,旧版本的.ui就是显示的内容(没有我的功能升级).我试着清理一切并运行qmake,但无济于事.

为什么会发生这种情况的任何想法?

user-interface qt

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

为什么std :: map :: operator []反直觉?

对于通常用于访问数据结构的操作员来说,在我看来"邪恶"(在C++常见问题中的含义),突然被定义为将数据插入数据结构.

我想问题是'什么会更好'?对于某些类型的映射值,可以轻松回答这个问题; 例如,如果我们将键映射到指针,您可能真的希望operator []为不存在的键返回nullptr,但这显然不适用于其他类型.

它可以在不存在的键上抛出异常,甚至默认构造一个临时的并返回它而不将其添加到地图中.将[]从读取语义转换为此容器类型的写入语义的好理由是什么?

c++ stl

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

在PHP中检查null和缺少查询字符串参数

我希望能够区分现有的查询字符串参数设置为null和缺少参数.所以问题的部分是:

  • 如何检查查询字符串中是否存在参数
  • 在查询字符串中传递空值的既定方法是什么?(例如param = null或param =(nothing))

谢谢

php request query-string querystringparameter

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

如何在rails 3中将find_each存根到rspec测试中

我想知道如何在rspec中测试find_each调用.我习惯于简单地存在我希望模型返回的内容,所以我不依赖于db中的测试数据,如下所示:

MyClass.stub(:find).and_return(my_mock)
Run Code Online (Sandbox Code Playgroud)

但是,在另一个班级我这样做:

MyClass.find_each do |instance_of_my_class|
  do_stuff_here_on(instance_of_my_class)
end
Run Code Online (Sandbox Code Playgroud)

我发现如果我这样做:

MyClass.stub(:find_each).and_return([one_mock, two_mock])
Run Code Online (Sandbox Code Playgroud)

在规范测试中,"在这里做东西"部分没有被执行.有谁知道如何存储find_each进行rspec测试?

rspec ruby-on-rails rspec2

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

在Winforms生成的.Designer.cs文件中修改Dispose(bool)时,是否需要将Dispose移动到主代码文件?

我在其他 问题的答案中找到了关于这个问题的不同意见,但没有找到直接解决它的问题.

是否有必要将winforms方法在winforms生成的.Designer.cs文件中移动到主代码文件中,以便设计者不会覆盖我对方法所做的更改?

c# windows-forms-designer winforms

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

着色器帧缓冲器回读

我想知道在较新的着色器模型中是否支持从目标帧缓冲区读回像素值.我认为这在绘图管道的后期(非可编程)阶段是完成的,这使我希望这个特性可能已被添加到可编程管道中.

我知道可以绘制到纹理绑定的帧缓冲区,然后将此纹理发送到着色器,我只是希望有一种更优雅的方式来实现相同的功能.

glsl hlsl pixel-shader fragment-shader

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

考虑以下BNF语法

考虑以下BNF语法(其中非终端包含在尖括号中并<identifier>与任何合法的Java变量标识符匹配).

<exp> ::= <exp> + <term>
      |   <exp> - <term>
      |   <term>
<term> ::= <term> * <factor>
       |   <term> / <factor>
       |   <factor>
<factor> ::= ( <exp> )
         |   <identifier>
Run Code Online (Sandbox Code Playgroud)

为以下表达式生成三个派生:

(x - a) * (y + b)
Run Code Online (Sandbox Code Playgroud)

盯着exp:

<exp>
Run Code Online (Sandbox Code Playgroud)

用术语替换exp:

<term>
Run Code Online (Sandbox Code Playgroud)

替换术语:

<term> * <factor>
Run Code Online (Sandbox Code Playgroud)

用因子代替术语:

<factor> * <factor>
Run Code Online (Sandbox Code Playgroud)

用(exp)替换这两个因子:

( <exp> ) * ( <exp> )
Run Code Online (Sandbox Code Playgroud)

用exp - term替换第一个exp,用exp + term替换第二个exp

( <exp> - <term> ) * ( <exp> + <term> )
Run Code Online (Sandbox Code Playgroud)

将exp替换为term,然后用因子替换所有4个术语.

( <factor> - …
Run Code Online (Sandbox Code Playgroud)

grammar bnf expression-trees

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

混合锁和联锁操作是否安全?

我有一些必须是线程安全的代码,其行为类似于:


protected long m_RunningValue
protected long m_RunningCounter
protected object m_Lock = new object();

public long RunningValue { get { return Interlocked.Read(m_RunningValue); } }
public long RunningCounter { get { return Interlocked.Read(m_RunningCounter); } }

public void DoCalculation(int newValue, int newQuantity)
{
   lock(m_Lock)
   {
       Interlocked.Add(ref m_RunningValueA, newValue);
       Interlocked.Add(ref m_RunningCounter, newQuantity);
       if(Interlocked.Read(ref newQuantity) == 0)
       { 
         ...m_RunningValue gets further modified here
       }
   }
}

计算必须锁定值和计数器,否则竞争条件可能影响if(...)块,但是在读出时它们根本不需要同步,即如果计数器和值在尝试之间发生变化读两个,这对我来说是100%的好.

读取时的互锁用于读取64位值的线程安全性.

  1. 混合联锁和锁这样安全吗?我在其他网页上看到混合它们是不安全的,但是如果这意味着混合它们是引入细微错误的好方法,或者如果在系统级别这会破坏所涉及的数据结构,我无法找到澄清.

  2. 所有这些互锁(64位.NET 4.0运行时)的成本是否完全违背了在属性get()方法周围保存ReaderWriterSlim锁的目的?

c# interlocked thread-safety readerwriterlockslim

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

Ruby on Rails代码中的缩进

我注意到Ruby on Rails代码有2个空格缩进,例如:

class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      ...
      t.timestamps
    end
  end
  ...
end
Run Code Online (Sandbox Code Playgroud)

这是一个有2个空格的约定吗?(我以前用Tab缩进,通常是4个空格.)

额外奖励:有没有人知道如何在电子文本编辑器中将Tab大小从4个空格更改为2个空格?

ruby-on-rails indentation

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