问题列表 - 第40156页

巧妙破解C++代码的邪恶样本

我需要一些糟糕的C++代码示例来说明违反良好做法的行为.我想提出我自己的例子,但是我很难想出一些没有做作的例子,而且陷阱不是很明显(它比看起来更难).

例子如下:

  1. 不为具有std::auto_ptr成员的类定义复制构造函数,并使用std::auto_ptr具有前向声明的类的成员.
  2. 从构造函数或析构函数(直接或间接)调用虚函数.
  3. 重载模板功能.
  4. 循环引用boost::shared_ptr.
  5. 切片.
  6. 从C回调中抛出异常(直接或间接).
  7. 相等的浮点比较.
  8. 具有原始指针成员的构造函数的异常安全性.
  9. 从析构函数中抛出.
  10. 在不同体系结构上编译时的整数溢出(size_t和的不匹配int).
  11. 使容器迭代器无效.

......或者你能想到的任何其他邪恶的东西.

我很欣赏对现有资源或一两个样本的一些指示.

c++

39
推荐指数
7
解决办法
8831
查看次数

在Cython中使用lambda函数时出错

我正在尝试使用Cython来加速一段代码.当我使用lambda函数时,Cython会给出一个错误,上面写着"Expected a identifier或literal".据我所知,lambda函数在Cython 0.13中得到支持.我在这一点上不正确吗?如果它们确实受到支持,我是否需要做一些其他事情而不是我在这里实施它们?

def f(e_1, e_2, rho):
    """Bivariate Normal pdf with mean zero, unit variances, and correlation coefficient rho."""
    return (1.0 / (2.0 * pi * sqrt(1 - rho**2))) * exp(-(1.0 / (2*(1 - rho**2))) * (e_1**2 + e_2**2 - 2*rho*e_1*e_2))

def P_zero(b_10, b_11, b_20, b_21, rho, gamma, x):
    """Returns the probability of observing zero entrants in a market by numerically
    integrating out the unobserved firm-specific profit shocks."""
    h_z = lambda e_1: -inf
    g_z = lambda e_1: -b_10 - …
Run Code Online (Sandbox Code Playgroud)

python cython

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

- [NSString componentsSeparatedByString:]泄漏

我有以下代码:

NSString *indexText = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if (indexText==nil) {
    [indexText release];
    indexText = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
}
[data release];
NSAutoreleasePool *innerPool = [NSAutoreleasePool new];
NSArray *packageList = [indexText componentsSeparatedByString:@"\n\n"]; //if commented out, there's no leak
[indexText release];
[innerPool drain];
Run Code Online (Sandbox Code Playgroud)

我正在执行componentsSeparatedByString:打开indexText,但是我泄漏了相当多的内存,尽管这packageList是自动释放的事实(事实证明,如果我尝试再次释放它,代码会崩溃).当我注释掉这条线时componentsSeparatedByString:,泄漏消失了.

顺便说一句,我正在运行iPhone模拟器时在Activity Monitor中查看内存使用情况; 仪器没有检测到泄漏.泄漏只是一种幻觉,模拟器的特殊性?

iphone cocoa-touch memory-management objective-c

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

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

mips分支延迟槽是否通过连续分支传播?

我正在玩分支延迟插槽.在垃圾邮件上试过.

j some
j a 
j b 
j c 
j d 
ori $9, $0, 13

some:
a:  
b:  
c:  
d:  
Run Code Online (Sandbox Code Playgroud)

对于我惊讶的是它改变了$ 9至13所以我的问题是可以延迟槽传播或者这是一个垃圾信息的事情,真实MIPS32处理器不会发生?如果这是预期的行为能有人给我发生的事情有一点启示?

pipeline mips mips32

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

uinavigation控件中不会出现默认后退按钮

我正致力于基于uinavigation的应用程序.当我向我的项目添加视图控制器并使用pussviewcontroler导航到它时,我没有在导航控件上获得默认后退按钮.这是我第一次发生,每当我创建一个应用程序时,我没有得到默认返回按钮感谢您查看我的问题

谢谢Pankaj

iphone

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

Url包含特殊的charectors

我正在尝试建立https连接,但我的URL包含一些特殊字符,因此创建连接会抛出异常.我该如何避免这个问题?

blackberry

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

使用LINQ to XML时避免暴露于NullReferenceException

我正在使用对该XElement.Element()方法的一系列调用来深入研究XML文档并提取属性的值:

XElement root = ...;
XNamespace ns = "...";
var firstName = 
  root
    .Element(ns + "Employee")
    .Element(ns + "Identity")
    .Element(ns + "Name")
    .Attribute(ns + "FirstName");
Run Code Online (Sandbox Code Playgroud)

但是,由于传入文档尚未经过模式验证,因此格式错误的文档可能会导致NullReferenceException任何预期的中间元素不存在.

有没有办法避免这种风险,同时保持代码简洁?

我可以将上面的代码包装在处理程序中NullReferenceException但是这感觉不对,并且也没有具体指出失败发生的位置.构建信息性错误消息将是手动,繁琐,容易出错和维护危险.

我应该使用XPath,这样我可以检查null返回,然后轻松构造一条错误消息,指示XPath表达式无法解析?

.net c# linq-to-xml

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

如何在自动机中进行文本替换(正则表达式)

我正在制作一个 Automator 应用程序,我需要根据某个标准替换一些文本。我想知道是否有用于执行正则表达式文本替换的 Automator 操作。

如果没有,我总是可以选择运行可以执行此操作的 AppleScript,但我真的不知道如何编写 AppleScript 代码。

谢谢!

applescript replace automator

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

如何从C字符串中删除第一个字符?

谁能帮帮我吗?我需要删除C中的第一个字符char *.

例如, char * contents包含一个'\n'字符作为数组中的第一个字符.我需要检测并消除这个字符,在它被"消毒"后修改原始变量.

任何人都可以帮我代码吗?我对C完全不熟悉,似乎无法弄明白.

c string cstring

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