小编Leo*_*ans的帖子

在.CPP文件中存储C++模板函数定义

我有一些模板代码,我宁愿存储在CPP文件中而不是标题中的内联.我知道只要您知道将使用哪些模板类型,就可以完成此操作.例如:

.h文件

class foo
{
public:
    template <typename T>
    void do(const T& t);
};
Run Code Online (Sandbox Code Playgroud)

.cpp文件

template <typename T>
void foo::do(const T& t)
{
    // Do something with t
}

template void foo::do<int>(const int&);
template void foo::do<std::string>(const std::string&);
Run Code Online (Sandbox Code Playgroud)

注意最后两行--foo :: do模板函数仅用于int和std :: strings,因此这些定义意味着应用程序将链接.

我的问题是 - 这是一个讨厌的黑客还是会与其他编译器/链接器一起使用?我目前只在VS2008上使用此代码,但是想要移植到其他环境.

c++ templates

484
推荐指数
8
解决办法
31万
查看次数

Perl,Python,AWK和sed有什么区别?

只是想知道它们之间的主要区别是什么?和每种语言的力量(最好使用它).

编辑:这不是"对战" 喜欢话题,只是信息.

python perl awk language-comparisons sed

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

模板约束C++

在C#中,我们可以定义一个泛型类型,它对可用作泛型参数的类型施加约束.以下示例说明了泛型约束的用法:

interface IFoo
{
}


class Foo<T> where T : IFoo
{
}

class Bar : IFoo
{
}

class Simpson
{
}

class Program
{
    static void Main(string[] args)
    {
        Foo<Bar> a = new Foo<Bar>();
        Foo<Simpson> b = new Foo<Simpson>(); // error CS0309
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在C++中对模板参数施加约束.


C++ 0x本身支持这个,但我说的是当前的标准C++.

c++ templates constraints

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

为最大吞吐量,UDP数据包的最佳大小是多少?

我需要通过可能有损的网络将数据包从一个主机发送到另一个主机.为了最小化数据包延迟,我不考虑TCP/IP.但是,我希望最大化吞吐量uisng UDP.应该使用的UDP数据包的最佳大小是多少?

以下是我的一些注意事项:

  • 网络中交换机的MTU大小为1500.如果我使用大数据包,例如8192,则会导致碎片.丢失一个片段会导致丢失整个数据包,对吧?

  • 如果我使用较小的数据包,我将产生UDP和IP头的开销

  • 如果我使用一个非常大的数据包,我可以使用的最大数据包是多少?我读到最大的数据报大小是65507.我应该使用什么缓冲区大小来发送这样的大小?这有助于提高我的吞吐量吗?

  • 常见操作系统(例如Windows,Linux等)支持的典型最大数据报大小是多少?

更新:

数据的一些接收器是未实现TCP/IP堆栈的嵌入式系统.

我知道这个地方到处都是那些非常喜欢使用可用内容的人.但我希望能得到更好的答案,而不仅仅关注MTU.

c++ linux windows udp network-programming

38
推荐指数
4
解决办法
5万
查看次数

在Vim中,选择,删除或注释大部分多屏幕文本的最佳方法是什么?

选择大量的文本,这些文本扩展到像Eclipse这样的IDE中的许多屏幕,因为你可以使用鼠标,但这是最好的方法,例如选择和删除多屏幕文本或者将三个大方法写入另一个文本的最佳方法是什么文件,然后在通过putty/ssh使用它时,在Vim中将它们删除以用于测试目的,在那里你不能使用鼠标?

我可以很容易地从行到行尾或者从代码块到最后但是如果文本扩展到许多屏幕,或者其中有很多空白行,我觉得我的感觉就像是双手被绑在Vim.有解决方案吗

还有一个相关的问题:有没有办法以某种方式选择40行,然后将它们全部注释掉(用"#"或"//"),这在大多数IDE中都很常见?

vi vim

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

有没有相当于`perl -pi -e`的Python?

我知道python -c '<code>',但我想知道是否有更优雅的python相当于perl -pi -e '<code>'.我仍然在整个目录(perl -pi -e s/foo/bar/g *甚至find . | xargs perl -pi -e s/foo/bar/g是子目录)中查找和替换它等相当多的东西.

我实际上觉得Perl Perl(自由形式Tim Toady-ness)使得perl -pi -e工作如此出色,而使用Python你必须做一些导入re模块,创建re实例然后捕获的东西stdin,但也许有一个Python快捷方式可以完成所有这些并且我错过了它(非常想念它)...

python perl command-line language-features

16
推荐指数
4
解决办法
2787
查看次数

Perl替换操作符的作用是什么?

多年来,我一直在Perl中编程,不过几年,虽然只是偶尔使用它是我的主要语言.因为我经常在几个月没有写任何perl,所以我非常依赖我的狗耳骆驼书来提醒我如何做事.然而,当我逐字逐句地复制食谱时,这让我感到困扰.这是最令人头疼的问题之一:在第3版Camel的第154页,有一个"修改字符串en passant的例子,其内容如下:

($lotr = $hobbit) =~ s/Bilbo/Frodo/g;
Run Code Online (Sandbox Code Playgroud)

Q1)这里发生了什么?究竟什么是正则表达式运作?

Q2)这种近乎神奇的语法是否需要这样的基本操作:"从$ a中取一个字符串,用正则表达式修改它,将结果放在$ b中"?

Q3)如何使用循环默认变量作为初始字符串来执行此操作?

向Perl梦想家道歉,上面看起来非常自然.

regex perl substitution

13
推荐指数
2
解决办法
3395
查看次数

确定日期范围内日期的好方法是什么?

什么是一个好的Perl模块(或好的方法),它返回开始日期和结束日期之间的所有有效日历日期?

例如,如果我将1/29/2009作为开始日期而2/3/2009作为结束日期,那么我希望它返回1/30/2009,1/31/2009,2/1的数组/ 2009年和2009年2月2日.必须有一个好的Perl模块已经完成了这个并且占了闰年,几个月,但我找不到它.

谢谢你的建议!

perl datetime data-structures

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

是否有一个Perl模块根据模式验证XML?

我需要验证XML agaist架构.

我试过XML :: SAX :: ParserFactory; XML :: Validator :: Schema和相关模块,但看起来有限.
在某种意义上它不能识别xsd:unique,xsd:group,xsd:keyref,xsd:union和xsd:key等模式元素.

这些xsd:unique等新增功能吗?

感谢您是否可以向我指出一些最新且最重要的Perl模块.

提前致谢.

xml validation perl schema

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

我应该使用PHP或Perl来按摩我的数据并使用MySQL存储/检索它吗?

我有一个需要将数据发送到MySQL服务器的桌面应用程序.该应用程序将供公司内部使用,但MySQL位于托管公司的服务器上.

在插入和标准的简单插入,删除和更新之前,需要对数据进行一些按摩.

我应该使用PHP或Perl?

我现在使用PHP来处理各种数据库驱动的网页,但我目前的任务不需要任何网络渲染.(我知道PHP也可以在没有网络渲染的情况下做到这一点)

我过去(可能是4年前)使用Perl进行数据挖掘任务和Oracle.

我不知道的事情: - Perl可以轻松地使用MySQL吗? - Perl脚本会放在网络服务器上的cgi-bin中,对吗? - 两者的安全问题? - Perl中连接MySQL以插入数据的最佳实践? - 我在哪里可以存储插入,更新,删除MySQL用户名和密码,以免被盗等?

你会选择什么?

我们很感激

-Jason

php mysql perl

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