小编ata*_*man的帖子

为什么通过引用调用会创建一个新实例?

foo通过const ref以下方式调用方法:

// method, which is being called
void foo(const Entity & ent);

// call
Entity* e = new Entity;
foo(e);    // wrong: missing * but compiles
Run Code Online (Sandbox Code Playgroud)

这段代码不仅编译,而且还创建了一个新的实例,Entity其默认值在范围内foo.我希望这不会编译或至少崩溃.

如果我把foo正确的(foo(*e)),一切工作为疑似,我看到的正确的价值观Entityfoo.

我使用Qt 4.7提供的mingw.

这是以下界面Entity:

class Entity : public QObject
{
    Q_OBJECT

public:
    Entity (QObject* parent = NULL);

    long getId() const { return this->id; }
    void setId(const long id) { this->id = id; }

    QString …
Run Code Online (Sandbox Code Playgroud)

c++ qt const-reference

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

使用嵌套集合进行双括号初始化

我知道我可以List使用双括号声明和初始化:

// (1)
List<Object> myList = new ArrayList<object>(){{
    add("Object1");
    add("Object2");
}};
Run Code Online (Sandbox Code Playgroud)

但我想List<Map<Object,Object>>:

// (2)
List<Map<Object,Object>> myList = new ArrayList<Map<Object,Object>>();
Run Code Online (Sandbox Code Playgroud)

如何使用嵌套集合的双括号初始化(参见(1))?我的目标是在一行中声明和初始化数据结构.

另外我想知道使用双支撑初始化时是否存在某些缺点我必须注意.

java double-brace-initialize

8
推荐指数
2
解决办法
649
查看次数

@Named + @RequestScoped在JBoss 7.1.1的JSF 2.0中不起作用

我有一个工作@ManagedBean,我想用@Named + @RequestScoped豆替代.

// Before
@ManagedBean
public class Login {
   ...
}

// After
import javax.enterprise.context.RequestScoped;
@Named
@RequestScoped
public class Login {
   ...
}
Run Code Online (Sandbox Code Playgroud)

只要我使用,一切都很好@ManagedBean.@Named没有@RequestScoped工作,但为每个EL表达式创建一个新实例.@Named + @RequestScoped但是会产生异常:当请求缓存不活动时,无法添加请求范围的缓存项

java.lang.IllegalStateException: Unable to add request scoped cache item when request cache is not active
    at org.jboss.weld.context.cache.RequestScopedBeanCache.addItem(RequestScopedBeanCache.java:51)
    at de.prosis.dafe.presentation.Login$Proxy$_$$_WeldClientProxy.getUsername(Login$Proxy$_$$_WeldClientProxy.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:302)
    at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
    at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    at …
Run Code Online (Sandbox Code Playgroud)

java-ee cdi jsf-2

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

如何在xslt中按十六进制排序?

我试图通过包含十六进制值的元素对我的转换输出进行排序.

<xsl:sort select="Generation/Sirio/Code" data-type="number"/>

值是普通的旧十六进制:00 01 02 ... 0A ... FF但它们的排序方式如下:0A FF 00 01 02这表示排序方法一旦涉及到字符就会失败.

我该如何解决这个问题?

非常感谢你!

sorting xslt hex

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

C#中的变量范围

我正在阅读Beginning C#以刷新我在C#上的记忆(C++中的背景).

我在书中遇到了这个片段:

int i;
string text;
for (i = 0; i < 10; i++)
{
   text = "Line " + Convert.ToString(i);
   Console.WriteLine("{0}", text);
}
Console.WriteLine("Last text output in loop: {0}", text);
Run Code Online (Sandbox Code Playgroud)

上面的代码片段不会编译 - 因为根据书中的说法,变量文本没有被初始化,(仅在循环中初始化 - 并且当退出循环块时,最后分配给它的值将丢失.

我无法理解为什么分配给L值的值仅仅因为已经退出创建R值的范围而丢失 - 即使L值仍在范围内.

任何人都可以解释为什么变量文本会丢失循环中分配的值吗?

c# compiler-errors

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

如何使用新的Facebook Connect iOS API通过DIALOG授权用户?

我理解 - http://developers.facebook.com/docs/guides/mobile/#ios-,似乎非常有用,但我的应用程序不支持多任务处理,所以这种"交叉狩猎"方法对我不起作用.

有没有一个简短的例子(或者有人可以在这里复制)通过FBDialogs(这个所谓的"新"API)的身份验证过程?我刚刚知道这个SDK,所以请尽可能基本.

iphone facebook fbdialogs

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

Maven:hibernate-entitymanager和javaee-api一起打破了我的单元测试

我有两个依赖项javaee-apihibernate-entitymanager我的pom.但它们并不能很好地协同工作:只要我添加javaee-api,我的所有单元测试都会因为而中断java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/validation/Validation.没有javaee-api,一切正常.这是为什么?

(这个问题已被编辑以适应问题;))

java build java-ee maven

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

Qt unicode和umlauts

由于我们已将所有源文件和头文件转换为unicode,因此我们遇到了德语变音符号的问题.一切都很好,但QLabels和其他gui组件显示变音符号乱码.

ISO-8859-1源工作正常,但在OSX和Windows之间切换时会出现问题.

我必须在项目文件中设置什么吗?

环境:Qt 4.7与Qt Creator 2.3.0在Windows XP SP3上使用MinGW

例

unicode qt diacritics internationalization

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

JUnit 4.11在@After中获取测试结果

有什么方法可以通过teardown(@After)方法获得测试结果?我想根据结果在测试后进行清理。

@After在junit文档中找不到太多详细信息。

java junit junit4

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

在Jenkins申请之前总是建立库?

我们有两个构建AB,其中A是依赖于库B的应用程序.两者都是Qt项目.詹金斯每15分钟对SCM进行一次民意调查.有时会发生我提交AB但是A的计时器在B的计时器之前结束.因此,应用程序使用旧库进行构建,这会导致构建失败.现在我正在寻找一种方法来告诉詹金斯说拥有的构建之前要建一个开始.但是,只有成功构建之后才能构建一些东西.

有一个简单的解决方案还是我们搞砸了我们的构建过程?

continuous-integration jenkins

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