问题列表 - 第20946页

在C++中意外创建临时对象的方法?

多年前我相信C与C++相比绝对纯净,因为编译器无法生成任何你无法预测的代码.我现在相信反例包括volatile关键字和内存障碍(在多处理器编程或内存映射硬件设备的设备驱动程序中,其中普通汇编语言甚至比C编译器的优化更纯粹).

目前我正在尝试枚举C++编译器可以执行的不可预测的事情.关于C++的主要抱怨是编译器将隐式实例化临时对象,但我相信这些情况都可以预期.我正在考虑的案例是:

  • 当一个类为自己以外的类型定义一个复制构造函数时,不使用该explicit关键字
  • 当类定义重载转换运算符时: operator ()
  • 当函数通过值而不是引用接受对象时
  • 当函数按值而不是按引用返回对象时

还有其他人吗?

c++ temporary object

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

在MVC中,您在哪里放置对模型类的引用?

在询问了不同的人并且没有任何人提供我称之为"至少有点具体的答案"之后,我一直想知道一段时间:

题:

在iPhone应用程序中,应用程序应该保留对其模型类的引用(使用MVC方法)吗?

在iPhone(和Cocoa)应用程序中,我们称之为"App Delegate",它基本上启动了我们的应用程序,并且在我们的控制器中,也处理UITouch事件.

App委托控制器也是如此?模特班?这两个都没有?我想不知道这也让人知道在哪里放置模型参考资料令人困惑.

例:

您有Application Delegate,该委托包含对Application的View Controller的引用.如果我的应用程序将使用模型类A(它是一个Web服务器守护程序类),并使用一个存储该Web服务器查询的数据的类B.

你们在哪里存储对A和B的引用?(App Delegate?查看控制器?两者?)

这里有很多选项,但作为一个例子,我真的想知道你们如何使用mvc组合​​这个只使用一个View的应用程序.

iphone model-view-controller cocoa cocoa-touch

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

.NET下的原子文件复制

我正在构建一个使用System.IO.File.Copy(...)函数复制文件的服务器应用程序.我的文件可能相当大,因此,如果机器崩溃,它很有可能在复制期间发生.

重新启动服务后,我应该能够获取复制任务并继续.如何检测服务器崩溃是否成功完成或中断了副本?

我目前的计划是将文件复制到临时名称,复制完成后将其重命名为最终名称.这样,文件命名能够在崩溃时携带状态信息.

你有什么好的/更好的建议吗?

编辑:目标操作系统是Win2003,因此事务NTFS不可用

.net robustness file-transfer atomicity

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

指向C中无效指针的指针 - 我可以使用void**进行基本多态性吗?

我可以理解void**在记忆中看起来如何,但我想知道我是否正确使用它.我在下面描述的是否有任何根本缺陷?例如,虽然我可以说"它对我有用",但我是否以某种方式创建了错误/不可移植的代码?

所以我有一个小行星克隆.有三个实体可以发射子弹,即玩家(SHIP *player_1,SHIP *player_2)和UFO(UFO *ufo).当子弹被射击时,重要的是要知道谁射了子弹; 如果它是一名球员,当它击中某些东西时,他们的分数需要增加.因此,子弹将存储它所属的实体类型(owner_type)以及直接指向所有者(owner)的指针:

enum ShipType
{
    SHIP_PLAYER,
    SHIP_UFO
};

typedef struct Bullet
{ 
    // ...other properties
    enum ShipType owner_type;
    void **owner;
} BULLET;
Run Code Online (Sandbox Code Playgroud)

然后,当玩家点击按钮或UFO看到目标时,将调用以下功能之一:

void ship_fire(SHIP **shipp)
{
    BULLET *bullet = calloc(1, sizeof(BULLET));
    bullet->owner_type = SHIP_PLAYER;
    bullet->owner = (void**)shipp;
    // do other things
}

void ufo_fire(UFO **ufop)
{
    BULLET *bullet = calloc(1, sizeof(BULLET));
    bullet->owner_type = SHIP_UFO;
    bullet->owner = (void**)ufop;
    // do other things
}
Run Code Online (Sandbox Code Playgroud)

......他们可能被称为,例如,像这样: …

c void-pointers

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

如何找出定义函数的位置?

如何找出定义给定函数的文件和行?

php

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

从简单的XML文件中提取数据

我有一个包含以下内容的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<job xmlns="http://www.sample.com/">programming</job>
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来提取<job..> </job>标签中的内容,在这种情况下是programmin.这应该在linux命令提示符下完成,使用grep/sed/awk.

xml bash awk grep sed

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

核心数据在我的一个实体上与EXC_BAD_ACCESS崩溃

希望有人可以帮助我调试此问题,因为EXC_BAD_ACCESS是我收到的唯一错误.我也试过打开NSZombieEnabled,但是到目前为止我还没有得到更多信息.

问题.我有四个实体:

A - > B - > C - > D.

箭头表示集合的位置:"A"包含与"B"的多对多关系,"B"与"C"等的多对多关系.对于创建实体,我使用:

id dto = [NSEntityDescription insertNewObjectForEntityForName:@"A" 
    inManagedObjectContext:context];
NSLog(@"DTO: %@", dto);
Run Code Online (Sandbox Code Playgroud)

这似乎适用于A,B和C.但是,当在实体D上使用它时,应用程序崩溃了EXC_BAD_ACCESS.访问对象时似乎发生了这个问题,因为当注释掉NSLog和访问dto-object的其他方法时程序运行成功.

更新:

控制台输出

GNU gdb 6.3.50-20050815 (Apple version gdb-1346) (Fri Sep 18 20:40:51 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no …
Run Code Online (Sandbox Code Playgroud)

iphone core-data

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

VB.NET中的泛型

现在,作为一名C#程序员,我知道泛型很棒.但是,当涉及到某些VB.NET时,我发现以下内容不会导致编译器错误:

Dim instance As List(Of Integer)
instance.Add(True)
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我知道你不需要使用VB.NET,但我认为这会杀死使用泛型的主要原因 - 类型安全.

编辑:我没有严格的选项,因为这不是一个真正的编程练习,只是我在理论上看一下VB.NET.这是一个理论问题,因为我期望它甚至在选项严格关闭时导致编译器错误,就像泛型类型的一个特性一样.

vb.net compiler-construction generics type-safety

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

如何将-fvisibility选项应用于静态库中的符号?

我有一个共享库项目,它由4个静态库(.a)和一个object(.o)文件构成.我正在尝试添加-fvisibility=hidden选项以将输出中的符号限制为仅使用__attribute__在源中标记的符号.

我已经-fvisibility=hidden.so项目的编译选项(包括.o文件)和项目添加了选项.a.

目标文件中的符号将按照预期从最终中删除.so.但是,.a项目中的符号仍然在最终.so文件中.将-fvisibility=hidden选项添加到.solink命令无效.

我究竟做错了什么?

我的目的是从.so除了接口函数之外的所有符号中删除库.

编辑:我实际上使用版本地图来解决这个问题.但是,随着外部符号的更改,它需要继续维护版本脚本.接受的答案有更好的主意.

gcc visibility static-libraries

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

如何在resources.groovy中使用Grails dataSource?

我有一个我在Grails项目中使用的外部java库.它需要通过Spring配置的DataSource.但是,dataSource似乎无法从resources.groovy访问.我如何获得它?我在resources.groovy中使用以下内容:

beans = {
 eventDao(com.JavaClassRequiringDataSource) {
  //dataSource = ref(dataSource, true)
  dataSource = dataSource
 }
}
Run Code Online (Sandbox Code Playgroud)

运行应用程序会导致异常:

org.codehaus.groovy.runtime.InvokerInvocationException:groovy.lang.MissingPropertyException:没有这样的属性:class的dataSource:grails.spring.BeanBuilder

有任何想法吗?

configuration grails spring

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