小编Joe*_*ane的帖子

什么"当例外无效时打破"是什么意思?

我发现Visual C++ 2010的自动突破异常功能在过去和今天非常有用我正在查看此对话框中的选项,并发现其中一个异常类型是"void".这是什么意思?如果我选择这个,我会打破代码中抛出的任何异常吗?如果没有,什么样的throw语句会触发这种类型的断点?

Visual Studio异常对话框

我想更一般的后续问题是我在哪里可以找到关于此对话框及其所有选项的文档?

c++ exception visual-studio-2010 visual-c++

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

C++ const std :: map引用无法编译

是否有理由将参数传递给std::mapas作为导致[]运算符中断?当我使用const时,我得到这个编译器错误(gcc 4.2):

错误:'map [name]'中'operator []'不匹配

这是函数原型:

void func(const char ch, std::string &str, const std::map<std::string, std::string> &map);
Run Code Online (Sandbox Code Playgroud)

而且,我应该提一下,当我删除const前面的关键字时没有问题std::map.

如果我被正确指示,[]运算符实际上会在地图中找到一个新对,如果找不到密钥,这当然可以解释为什么会发生这种情况,但我无法想象这会是可接受的行为

如果有更好的方法,比如使用find代替[],我会很感激.我似乎无法找到工作,虽然...我收到const不匹配的迭代器错误.

c++ stdmap std find operator-keyword

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

PDFBox是否支持专色和分色?

我有兴趣将PDFBox用于一个项目,该项目需要能够指定PDF输出中的专色和分色才能转到专业打印机,并且很好奇它是否支持这一点.如果是这样(我想是这样),我也在寻找一些示例代码.

我在2009年的邮件列表(这里)发现了一篇旧帖子,这让我相信PDFBox可以支持分色,但是没有成功找到任何示例代码.我查看了他们的JavaDoc并发现了这些org.apache.pdfbox.pdmodel.graphics.color类,但不知道如何利用它们,并且在他们的网站或源代码中看不到任何烹饪书示例.

我特别感谢任何有助于说明DeviceN颜色空间的示例.

java pdf color-space pdfbox

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

数据类:需要在模型字段分组中至少设置一个值

如何要求数据类上的一组字段中的至少一个字段设置为真值?这是否需要自定义根验证器方法,因为它需要一次查看许多字段?例如,考虑以下数据类:

@dataclass
class MyModel:
    field1: Optional[str]: None
    field2: Optional[str]: None
    field3: Optional[str]: None
Run Code Online (Sandbox Code Playgroud)

如何要求这三个字段(field1field2field3)中的至少一个设置为非空字符串?是否有某种内置方法可以指定至少一个字段必须为非零/空(除了自定义根验证器之外)?

python python-3.7 python-dataclasses python-typing pydantic

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

仅包含一个#include的.cpp文件有什么意义?

我正在使用第三方库开始一些工作,当在Visual Studio 2010中构建它时,我注意到我多次收到此链接器警告(LNK4221).我查看了创建链接的目标文件时使用的源代码,发现这些源代码文件的所有实现都位于头文件中.有趣的是,我还注意到该项目包含相应的.cpp文件,其中包含带有实现的标头的#include.

我很好奇 - 这是什么意思,为什么我要使用这种技术?如果.cpp文件没有向项目添加任何值,为什么我不应该删除它们以摆脱链接器警告?

我试着寻找类似的问题,但没有找到任何有趣的东西.如果您知道,请链接他们.

c++ header include

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

如何确定哪个单元测试覆盖了一个函数或方法

从Python的角度来看,如何确定涵盖函数或方法的单元测试,或者通常由测试运行器确定套件中的测试所遇到的任何代码行?这似乎是合理的,这些信息应该是在给定的覆盖工具知道被打的特定代码的手,但我无法找到任何方式来获得这方面的资料(我用py.test我的测试运行与coveragepytest-cov模块).

我发现的一种方法是只pdb.set_trace调用代码,但如果我能找到一种不需要修改测试代码的更优雅的方法,那将会非常有用.

python unit-testing code-coverage pytest

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

在运行时通常访问任意对象上的属性

假设我们有一个未知类型的任意对象,我们希望访问与此对象关联的同等任意属性,查询为字符串名称.我正在寻找获得这个价值的最佳实践方法.

在伪代码/ Python中,我正在考虑的当前策略是这样的:

def access_attribute(obj, attr):
    if type(obj) == types.FunctionType:
        return access_attribute(obj(), attr)
    elif type(obj) == types.DictType:
        return obj.get(attr)
    # ... etc.
Run Code Online (Sandbox Code Playgroud)

要考虑的几件事:

  • 如果对象上不存在该属性会发生什么?我可以提出例外.
  • 该属性可能是深层嵌套的.

我认为这是编程语言和DSL解释器必须解决的问题,但我不知道标准/普遍接受的最佳实践.

已经提出了将自定义存储的DSL /代码eval与对象一起传递到运行时的想法,但我想暂时避免使用这种特殊的解决方案并且更喜欢Pythonic.

python

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

在梅森响应之前和之后这些数字是什么意思?

我在Ubuntu 10.10(x86)上使用mod_perl 2,mason和apache 2.2(来自apt的标准包).当我向服务器发送HTTP请求时,我得到以下内容:

$ nc localhost 80 < ~/Desktop/test.http
HTTP/1.1 200 OK
Date: Mon, 22 Nov 2010 00:32:02 GMT
Server: Apache/2.2.16 (Ubuntu)
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html

38
<html><body>Current IP Address: 127.0.0.1</body></html>

0
Run Code Online (Sandbox Code Playgroud)

我对此有点好奇.这些数字(38和0)是什么意思?我查看了我的日志,但我没有看到任何有意义的内容,我似乎无法找出谷歌的最佳搜索短语(如果我遗漏了文档中明显的内容,我很抱歉).我从telnet获得相同的结果(但Firefox似乎没有抛出任何类型的错误).

这是我的请求的内容(在末尾省略空格):

GET /test.html HTTP/1.1
HOST: example.com
Run Code Online (Sandbox Code Playgroud)

和我的脚本(test.html):

% my $ip = $r->connection->remote_ip();
<html><body>Current IP Address: <% $ip %></body></html>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

perl http apache2 mod-perl mason

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