小编ash*_*ash的帖子

为什么要明确删除构造函数?

何时/为什么我要显式删除我的构造函数?假设原因是为了防止其使用,为什么不做到呢private

class Foo
{ 
  public: 
    Foo() = delete; 
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++

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

为什么C++不需要"new"语句来初始化std :: vector?

/* bar.h */
class bar{
    /* standard stuff omitted */
    std::vector<my_obj*> foo;
};

/* bar.cpp */
bar::bar(){ 
    // foo = new std::vector<my_obj*>(); <-- why don't I need this line??
    foo.push_back(new my_obj());
}
Run Code Online (Sandbox Code Playgroud)

为什么这个代码工作,即使我们没有为foo :: vector的新实例分配foo?

c++ stl stdvector

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

用于解析联结目标路径的powershell

在PowerShell中,我需要解析联结的目标路径(符号链接).

例如,假设我有一个c:\someJunction目标是的交叉点c:\temp\target

我试过各种变化$junc = Get-Item c:\someJunction,但只能得到c:\someJunction

在本例中c:\temp\target,如何找到给定连接点的目标路径?

powershell symlink junction

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

Python命令行:在前一行编辑错误?

当通过命令行使用python时,如果我在嵌套语句的前一行看到错误,是否有任何方法可以在输入后删除或编辑该行?

例如:

>>> file = open("file1", "w")
>>> for line in file:
...     parts = line.split('|')   <-- example, I meant to type '\' instead
...     print parts[0:1]
...     print ";"
...     print parts[1:]
Run Code Online (Sandbox Code Playgroud)

所以,而不是重新整理整个事情来修复一个字符,我可以回过头来看看事后的事情吗?我知道我可以只在vim什么的代码它,并具有持久副本,我可以做任何事情,我想,但我希望用命令行一个方便,花花公子的把戏.

- 谢谢!

python linux command-line command

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

管道操作员是否修改其输入/输出?或者是否知道管道?

考虑以下...当我执行'ls'而没有任何标志时,它会将结果返回到一行,如下所示:

me@myComp /cygdrive/c/test/
$ ls
folder1/  folder2/  folder3/
Run Code Online (Sandbox Code Playgroud)

现在,如果我想对结果进行grep,说'2',我会得到以下结果:

me@myComp /cygdrive/c/test/
$ ls | grep 2
folder2/
Run Code Online (Sandbox Code Playgroud)

它不应该返回整条线路吗?我希望我用过这个结果ls -l | grep 2.

在我看来,管道操作员正在以某种方式将输入更改为grep,或者以某种方式ls意识到管道并更改其自己的输出.

folder1/ folder2/ folder3/是单个字符串,不是吗?那么grep怎么知道只返回folder2/,而不是folder1/ folder2/ folder3/

linux bash grep ls pipe

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

了解关于c ++ 11的遵守规则

我一直在测试rvalue引用并移动语义,并希望确保我理解何时应该省略副本以及何时应该遵循移动语义.

鉴于以下内容

class NRVCA
{
public:
    NRVCA(int x):
    {}
    NRVCA(const NRVCA & Rhs)
    {}    
    NRVCA& operator=(const NRVCA& dref)
    {}          
};

NVCRA GetATemp()
{       
   return NVCRA(5);
} 

NVCRA GetACopy()
{
   NVCRA ret(5);
   ...
   return ret;  
}

int main()
{ 
    //This call will be elided allays and invoke the single param constructor 
    NVCRA A = GetATemp();
    //This call will be a traditional copy the complier may elide this 
    // if so the work will be done inline 
    NVCRA B = GetACopy();

} …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

c ++将宏变量转换为wchar字符串文字的简便方法

在下面的示例中,我想删除该std::wstring(std::widen(...))部分,但'#'宏只返回一个char字符串文字 - 有没有办法容纳wchar?

#define FOO_MACRO(className)\
struct className##Factory : public OtherClass {\
// does some stuff here\
} className##Factory;\
someMap->add(std::wstring(std::widen(#className), className##Factory)))
Run Code Online (Sandbox Code Playgroud)

我怎么用wchar做同样的事情?

c++ macros

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

scipy misc.derivative 结果不正确

我想知道我在这里做错了什么......

我正在试验一个简单而人为的函数,取它对 x 的某些值的导数:

f(x) = x^3,然后f'(x) = 3x^2计算 x 在 1、2、3 处的导数

>>> from scipy import misc
>>> def x2(x): return x*x*x
...
>>> misc.derivative(x2,1)
4.0
>>> misc.derivative(x2,2)
13.0
>>> misc.derivative(x2,3)
28.0    
Run Code Online (Sandbox Code Playgroud)

问题:结果不正确,它们都比它们应有的值大 +1(它们应该分别是 3、12 和 27)。

python scipy

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

ctags,使用多个路径生成标签?

当我构建/更新我的标签文件时,ctags从当前目录开始并以递归方式向下运行.

我希望它还包括一个完全不同的搜索路径,一个映射的网络驱动器,并将这些结果添加到我的标签文件中.

有没有办法做到这一点?

vim ctags

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

禁用python的help()访问web

我正在使用Python2.7.当我输入help()并输入"modules"时,我收到了消息

>>> help()
Welcome to Python 2.7! This is the online help utility.
...
help> modules
Please wait a moment while I gather a list of all available modules...
Run Code Online (Sandbox Code Playgroud)

然后我收到一系列警告

Warning: cannot register existing type 'GtkWidget'
...
Warning: cannot add class private field to invalid type '<invalid>'
...
Run Code Online (Sandbox Code Playgroud)

然后整个事情挂起......我必须开始第二个远程会话来发送SIGKILL.

显然有些事情是错的,但我最惊讶的是它在网络上收集信息的位置.

Python的帮助文档是否可以存储在本地?如何阻止它进入网络?我想要定期帮助,而不是在线帮助.

python

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

python*operator,使用默认值创建列表

以下如何工作?

>>> 3*[2]
>>> [2,2,2]
>>> [2]*3
>>> [2,2,2]
Run Code Online (Sandbox Code Playgroud)

我明白这*是位置扩展运算符.既然[2]是一个包含单个项目的列表,我看不出如何3*[2]扩展到任何有意义的东西,我期待一个SyntaxError,但事实并非如此.

我很难找到现有的答案,我找到的只是引用*args**kwargs传递可变参数列表,这些都没有完全回答我的问题.

python list python-3.x

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

标签 统计

c++ ×4

python ×4

linux ×2

bash ×1

c++11 ×1

command ×1

command-line ×1

ctags ×1

grep ×1

junction ×1

list ×1

ls ×1

macros ×1

pipe ×1

powershell ×1

python-3.x ×1

scipy ×1

stdvector ×1

stl ×1

symlink ×1

vim ×1