问题列表 - 第30383页

使用"break"打破"for"循环被认为是有害的?

几天前我开始了一个快速的开源项目,当一些伙伴查看svn上的代码时,其中一个告诉我breakfor循环中使用语句被认为是有害的,不应该这样做.

但他补充说,我会在Linux内核源代码的循环break内找到几个语句for,但这只是因为只有Linus Torvalds和Chuck Norris被允许使用它而没有其他人.

你怎么看?我看到在使用没有问题break一个内for循环.在我看来,模拟break使用布尔变量或类似的东西的行为增加了许多不必要的开销,并使代码不那么简单.

而且,没有比较的余地goto,因为break不能随意改变程序的流程从一个点到另一个谎言goto.

c++ loops for-loop goto break

22
推荐指数
5
解决办法
6万
查看次数

为什么我的C++子类需要一个显式的构造函数?

我有一个声明和定义构造函数的基类,但由于某种原因,我公开派生的类没有看到那个构造函数,因此我必须在派生类中显式声明转发构造函数:

class WireCount0 {
protected:
    int m;
public:
    WireCount0(const int& rhs) { m = rhs; }
};

class WireCount1 : public WireCount0 {};

class WireCount2 : public WireCount0 {
public: 
  WireCount2(const int& rhs) : WireCount0(rhs) {}
};

int dummy(int argc, char* argv[]) {
    WireCount0 wireCount0(100);
    WireCount1 wireCount1(100);
    WireCount2 wireCount2(100);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我的WireCount1 wireCount1(100)声明被编译器拒绝("没有匹配函数来调用'WireCount1 :: WireCount1(int)'"),而我wireCount0wireCount2声明都没问题.

我不确定我理解为什么我需要提供显示的显式构造函数WireCount2.是因为编译器为其生成了默认构造函数WireCount1,并且该构造函数隐藏了WireCount0构造函数?

作为参考,编译器是i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659).

c++ constructor default derived-class

11
推荐指数
2
解决办法
8884
查看次数

将SQL Server数据库转换为MySQL

我在专用服务器上有一个SQL Server 2008 Express上的应用程序数据库.这对我的网络应用来说还不够.

  • 是否有任何好的免费转换工具,使我能够将我当前的SQL Server数据库转换为我的服务器上的MySQL.
  • 我的网络应用程序能够同样工作吗?

mysql database sql-server migration

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

(P)SFTP的dir/ls标准是什么格式?

我正在整理一些东西,通过SFTP下载一些文件.我正在使用PuTTY的psftp.exe命令.

当我做了dir/ ls在PSFTP,是输出的格式规范,或者通过SFTP或PSFTP本身?或者它只是服务器发送响应的任何自由格式文本?

我问,因为我相信FTP(回来的时候!),它根本没有标准化,我只有一个SFTP服务器在这里进行测试.

directory sftp putty directory-listing

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

PEAR 邮件,“无法设置发件人”

我有一个 PHP 邮件脚本,可以成功地将电子邮件发送到除 GMail 地址之外的所有内容,所以现在我正在尝试使用 PEAR 的 Mail 和 Mail_Mime 包创建一个可以发送到 GMail 的脚本。我的印象是,只有通过 GMail 的 SMTP 服务器连接以发送邮件,这才有可能。尝试一个简单的测试脚本后,我收到以下错误:

无法将发件人设置为 [username@gmail.com]

地址没有任何问题,该站点建议如果地址格式不正确,则是服务器连接问题。但是在这种情况下我该如何解决连接问题呢?还是我做错了什么?或者是否有另一种更简单的方法来获取 PHP 脚本以成功将邮件发送到 GMail?

我的代码如下(电子邮件地址和密码已更改,显然)

$from = "username@gmail.com";
$to = "username@gmail.com";
$subject = "Test";
$crlf = "\n";
$text = 'Text message';
$html = '<html><body>HTML message</body></html>';
$headers = array (
    'From' => $from,
    'Return-Path' => $from,
    'Subject' => $subject
);

$mime = new Mail_mime($crlf);
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$body = $mime->get();
$headers = $mime->headers($headers);

$smtp = Mail::factory(
    'smtp',
    array (
        'host' => …
Run Code Online (Sandbox Code Playgroud)

email gmail pear

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

PHP闭包不能访问parnt函数参数吗?

我一直在为PHP 5.3编写一些代码,我想做类似于我在下面显示的代码.我希望这段代码可以打印'hellohello',但它打印'hello'而不是错误.

看来$ inner闭包不能访问外部函数的参数.这是正常的行为吗?这是一个PHP错误吗?我看不出这怎么可能被认为是正确的行为......

<?php

function outer($var) {

  print $var;

  $inner = function() {
    print $var;
  };
  $inner();
}

outer('hello');
Run Code Online (Sandbox Code Playgroud)

谢谢!

closures php-closures php-5.3

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

Scapy SYN发送我们自己的IP地址

我尝试在我的本地网络上发送SYN数据包并使用Wireshark监控它们,一切正常,除非我尝试将数据包发送到我自己的IP地址,它似乎"工作",因为它说发送1数据包,但它是没有真正发送,我看不到Wireshark中的数据包,也没有任何数据包的答案.我的设置是计算机A(192.168.0.1),其中TCP套接字服务器侦听端口40508,计算机B(192.168.0.2).

在计算机B上我测试:

ip=IP(src="192.168.0.2",dst="192.168.0.1")  
SYN=TCP(sport=40508,dport=40508,flags="S",seq=12345)
send(ip/SYN)
Run Code Online (Sandbox Code Playgroud)

它工作正常,我看到Wireshark上的SYN数据包和192.168.0.1的SYN/ACK响应

在计算机A我测试:

ip=IP(src="192.168.0.1",dst="192.168.0.2")  
SYN=TCP(sport=40508,dport=40508,flags="S",seq=12345)
send(ip/SYN)
Run Code Online (Sandbox Code Playgroud)

它工作正常,我看到SYN数据包和RST/ACK(没有服务器侦听192.168.0.2上的端口40508,因此它发送RST/ACK)响应来自192.168.0.2

但是当我尝试使用计算机A:

ip=IP(src="192.168.0.2",dst="192.168.0.1")  
SYN=TCP(sport=40508,dport=40508,flags="S",seq=12345)
send(ip/SYN)
Run Code Online (Sandbox Code Playgroud)

Wireshark中没有任何内容,好像数据包从未发送过,但它像其他测试一样说:发送1个数据包.并且没有任何错误返回.如果我在计算机B上运行相同的测试并尝试将数据包发送到自己的IP地址,我遇到了同样的问题.

对于我的程序,我真的需要将SYN数据包发送到我自己的IP地址,有没有办法做到这一点还是不可能?

提前致谢,

Nolhian

python generator scapy send packet

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

如何使用Python将XML中的所有信息都放入字典中

假设我有一个XML文件,如下所示.

<A>
 <B>
  <C>"blah"</C>
  <C>"blah"</C>
 </B>
 <B>
  <C>"blah"</C>
  <C>"blah"</C>
 </B>
</A>
Run Code Online (Sandbox Code Playgroud)

我需要将此文件读入类似这样的字典中.

dict["A.B1.C1"] = "blah"
dict["A.B1.C2"] = "blah"
dict["A.B2.C1"] = "blah"
dict["A.B2.C2"] = "blah"

但是dict的格式并不重要,我只想将所有信息都读入Python的变量中.

问题是我不知道XML的结构,我只想读取字典中的所有信息.

有没有办法用Python做到这一点?

python xml dictionary

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

YAML或JSON中的语言代码列表?

在那里的YAML或JSON中是否有语言代码列表?

另一种格式很好,我可以在必要时进行转换.

json yaml

79
推荐指数
6
解决办法
4万
查看次数

llvm-gcc和clang二进制文件是否与gcc兼容? - 尤其是Windows上的mingw gcc

如果我使用llvm-gcc构建一个静态库,然后将它与使用mingw gcc编译的程序链接,结果是否有效?

对于llvm-gcc,clang和普通gcc的其他组合也是如此.我对如何在Linux(当然使用普通的非mingw gcc)和其他平台上工作感兴趣,但重点是Windows.

我也对所有语言感兴趣,但强调C和C++ - 显然clang不支持Fortran等,但我相信llvm-gcc会这样做.

我假设它们都使用ELF文件格式,但是调用约定,虚拟表格布局等呢?

linker gcc llvm clang llvm-gcc

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