小编Luc*_*cas的帖子

如何用下划线替换空格,反之亦然?

我想用字符串中的下划线替换空格来创建漂亮的URL.例如:

"This should be connected" becomes "This_should_be_connected" 
Run Code Online (Sandbox Code Playgroud)

我正在使用Python与Django.这可以使用正则表达式解决吗?

python regex django

184
推荐指数
10
解决办法
26万
查看次数

在c ++中创建矩阵的正确方法

我想为图形创建一个邻接矩阵.由于我读过matrix[x][y]因为不检查范围而使用表单数组是不安全的,所以我决定使用stl的vector模板类.我需要存储在矩阵中的是布尔值.所以我的问题是,如果使用std::vector<std::vector<bool>* >*产生过多的开销或者有一种更简单的矩阵方式以及如何正确初始化它.

编辑:非常感谢您的快速解答.我刚才意识到,那当然我不需要任何指针.矩阵的大小将在开始时初始化,并且在程序结束之前不会更改.这是一个学校项目,所以如果我写"好"代码会很好,虽然技术上性能不是太重要.使用STL很好.使用像boost这样的东西可能不受欢迎.

c++ stl graph matrix data-structures

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

使用goto是一种合法的方式来打破两个循环?

我正在解决Project Euler上的问题9 .在我的解决方案中,我使用"goto"语句来打破两个for循环.问题如下:

毕达哥拉斯三元组是一组三个自然数,abc,为此,

a ^ 2 + b ^ 2 = c ^ 2

例如,3 ^ 2 + 4 ^ 2 = 9 + 16 = 25 = 52.

恰好存在一个毕达哥拉斯三元组,其中a + b + c = 1000.找到产品abc.

我的解决方案是在c ++中:

int a,b,c;
const int sum = 1000;
int result = -1;
for (a = 1; a<sum; a++){
    for (b = 1; b < sum; b++){
            c = sum-a-b;
            if (a*a+b*b == c*c){
                result = a*b*c;
                goto found;
            }
    } …
Run Code Online (Sandbox Code Playgroud)

c++ goto

19
推荐指数
3
解决办法
6510
查看次数

如何在python中将正则表达式匹配的一部分作为变量?

在Perl中可以做这样的事情(我希望语法是正确的......):

$string =~ m/lalala(I want this part)lalala/;
$whatIWant = $1;
Run Code Online (Sandbox Code Playgroud)

我想在Python中做同样的事情,并在括号内获取文本,如$ 1.

python regex perl

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

如何更新MATLAB路径?

有时当我在路径中添加新文件时,我必须重新启动MATLAB,否则将无法检测到.必须有另一种方法!

matlab path

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

为什么GLib重新定义类型?

在GLib中重新定义类型背后的原因是什么?为什么他们转chargchar,intgint,等?

c types glib

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

如果向量只包含零,如何检查MATLAB?

什么是"MATLAB方式"来检查向量是否只包含零,以便它将被评估为标量而不是向量.如果我运行此代码:

vector = zeros(1,10)

%the "1" represents a function that returns a scalar
if 1 && vector == 0   %this comparision won't work
    'success'
end
Run Code Online (Sandbox Code Playgroud)

我收到错误:

??? 操作数到|| 和&&运算符必须可转换为逻辑标量值.

matlab

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

C中的通用函数指针

我有一个函数,它接受一个数据块和块的大小和一个函数指针作为参数.然后,它迭代数据并对数据块的每个元素进行计算.以下是我正在做的事情的基本概要:

int myfunction(int* data, int size, int (*functionAsPointer)(int)){
    //walking through the data and calculating something
    for (int n = 0; n < size; n++){
        data[n] = (*function)(data[n]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我作为参数传递的函数看起来像这样:

int mycalculation(int input){
    //doing some math with input
    //...
    return input;
} 
Run Code Online (Sandbox Code Playgroud)

这很好用,但现在我需要将一个额外的变量传递给我的functionpointer.顺便说一句

int mynewcalculation(int input, int someVariable){
    //e.g.
    input = input * someVariable;
    //...
    return input;
}
Run Code Online (Sandbox Code Playgroud)

是否有一种优雅的方式来实现这一目标,同时保持我的整体设计理念?

c abstraction function-pointers

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

调用错误的python解释器

我更新了我的python解释器,但我认为旧的仍然被调用.当我检查我得到的版本时:

$ python -V
Python 3.0.1
Run Code Online (Sandbox Code Playgroud)

但我相信旧的翻译仍然被称为.当我运行命令时:

python myProg.py
Run Code Online (Sandbox Code Playgroud)

该脚本运行正常.但是当我用命令调用它时

./myProg.py
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

AttributeError: 'str' object has no attribute 'format'
Run Code Online (Sandbox Code Playgroud)

这显然是由于旧的翻译被称为.我怎样才能解决这个问题?我运行Mac OS X 10.5.它与第一行有关:

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

我刚开始使用python并且对解释语言不是很熟悉,所以我不太清楚发生了什么.

编辑:哇,那很快.非常感谢!

python python-3.x

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

delete []如何知道数组的大小?

我很好奇delete []如何计算分配内存的大小.当我做的事情:

int* table = new int[5];
delete[] table;
Run Code Online (Sandbox Code Playgroud)

我明白表的内存是释放的.但是,如果我将指针重新分配给某个不同的表,会发生什么.

int* table = new [5];
int* table2 = new [9];
table = table2;
delete[] table;
Run Code Online (Sandbox Code Playgroud)

我可以免费使用5或9号桌子吗?我对new []和delete []如何共享有关其大小的信息感兴趣.或许我错过了一些必不可少的东西.

c++

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