小编Dav*_*hme的帖子

为什么我们甚至需要"delete []"运算符?

这个问题一直困扰着我.我一直认为C++应该被设计成使"删除"操作符(没有括号)即使使用"new []"运算符也能工作.

在我看来,写这个:

int* p = new int;
Run Code Online (Sandbox Code Playgroud)

应该相当于分配1个元素的数组:

int* p = new int[1];
Run Code Online (Sandbox Code Playgroud)

如果这是真的,"删除"运算符可能总是删除数组,我们不需要"delete []"运算符.

是否有任何理由在C++中引入"delete []"运算符?我能想到的唯一原因是分配数组的内存占用量很小(你必须在某处存储数组大小),因此区分"delete"与"delete []"是一个很小的内存优化.

c++ memory-management heap-memory

32
推荐指数
4
解决办法
5135
查看次数

Ruby:从字符串中提取单词

我正在尝试解析字符串中的单词并将它们放入数组中.我尝试过以下的事情:

@string1 = "oriented design, decomposition, encapsulation, and testing. Uses "
puts @string1.scan(/\s([^\,\.\s]*)/)
Run Code Online (Sandbox Code Playgroud)

它似乎做了伎俩,但它有点摇摇欲坠(我应该包括更多的特殊字符).在红宝石中有更好的方法吗?

可选:我有一个cs课程描述.我打算从中提取所有单词并将它们放在一个字符串数组中,从生成的数组中删除英语中最常用的单词,然后将其余单词用作用户可用于搜索cs的标记课程.

ruby regex parsing ruby-on-rails

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

如何为gnuplot创建数据文件?

我正在尝试使用gnuplot制作图表.我指定了我的xrange,, yrangelabels,但是当我输入以下命令时:

gnuplot>使用1:2的线条绘制"data.txt"

gnuplot告诉我:

警告:跳过不可读的文件"data.txt"图中没有数据.

我不明白我的数据文件是如何不可读的.这就是我的data.txt样子:

X       Y  [I didn't enter X and Y into my text file]

10000   0.030
5000    0.02
1000    0.012
Run Code Online (Sandbox Code Playgroud)

我知道我一定做错了 - 这是我第一次使用gnuplot.我尝试在谷歌搜索如何制作一个正确的data.txt文件出现zilch.


编辑:

我觉得在编程问答网站上提问可能听起来很奇怪,但是典型的文本文件/数据应该是什么样的?我不是计算机程序员,只是一个本科生试图为她的生物化学课程绘制图形.

gnuplot

28
推荐指数
3
解决办法
11万
查看次数

参考对象的STL容器

我知道STL容器会复制对象.所以说我有一个

list<SampleClass> l;
Run Code Online (Sandbox Code Playgroud)

每当我这样做

SampleClass t(...);
l.push_back(t);
Run Code Online (Sandbox Code Playgroud)

将制作一份副本.如果SampleClass很大,那么它将非常昂贵.

但是,如果我将l声明为引用的容器,

list<SampleClass&> l;
Run Code Online (Sandbox Code Playgroud)

当我做

l.push_back(t);
Run Code Online (Sandbox Code Playgroud)

它会避免复制对象吗?

c++ stl reference pass-by-reference

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

在emacs中从camelcase转换为_

是否有emacs函数将驼峰式单词转换为下划线?就像是:

longVariableName

M-x to-underscore

long_variable_name

emacs camelcasing elisp

25
推荐指数
5
解决办法
6966
查看次数

什么是Ruby中的"for"

在Ruby中:

for i in A do
    # some code
end
Run Code Online (Sandbox Code Playgroud)

是相同的:

A.each do |i|
   # some code
end
Run Code Online (Sandbox Code Playgroud)

for 不是内核方法:

  • for红宝石究竟是什么" "
  • 有没有办法使用其他关键字来做类似的事情?

就像是:

 total = sum i in I {x[i]}
Run Code Online (Sandbox Code Playgroud)

映射到:

 total = I.sum {|i] x[i]}
Run Code Online (Sandbox Code Playgroud)

ruby metaprogramming

23
推荐指数
3
解决办法
7769
查看次数

jQuery:货币格式编号

我的html中有这样的数字

<div class="number">950000</div>
Run Code Online (Sandbox Code Playgroud)

我希望jQuery改变它

<div class="number">Rp. 950.000</div>
Run Code Online (Sandbox Code Playgroud)

我怎么能在jquery中做到这一点?

javascript jquery

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

嵌套的C++类是否可以继承其封闭类?

我正在尝试执行以下操作:

class Animal
{
    class Bear : public Animal
    {
        // …
    };

    class Giraffe : public Animal
    {
        // …
    };
};
Run Code Online (Sandbox Code Playgroud)

...但是我的编译器似乎对此嗤之以鼻.这是合法的C++,如果没有,是否有更好的方法来完成同样的事情?基本上,我想创建一个更清晰的类命名方案.(我不想Animal从公共基类派生和内部类)

c++ inheritance nested-class

21
推荐指数
2
解决办法
6738
查看次数

基于非比较排序问题的排序算法?

我目前面临一个困难的排序问题.我有一组事件需要相互排序(比较排序)和它们在列表中的相对位置.

在最简单的术语中,我有事件列表,每个事件都有一个优先级(整数),一个持续时间(秒),以及事件可以出现在列表中的最早发生时间.我需要根据优先级对事件进行排序,但是在最早发生的时间之前,列表中不会出现任何事件.这是一个(希望)让它更清晰的例子:

// Psuedo C# code
class Event { int priority; double duration; double earliestTime ; }

void Example()
{
    Event a = new Event { priority = 1, duration = 4.0, earliestTime = 0.0 };
    Event b = new Event { priority = 2, duration = 5.0, earliestTime = 6.0 };
    Event c = new Event { priority = 3, duration = 3.0, earliestTime = 0.0 };
    Event d = new Event { priority = 4, duration …
Run Code Online (Sandbox Code Playgroud)

c# sorting algorithm comparison mathematical-optimization

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

如何从笛卡尔积中选择特定项目而不计算其他项目

我最终确信这个问题有一个答案,但是对于我的生活来说无法弄清楚如何去做.

假设我有三套:

A = [ 'foo', 'bar', 'baz', 'bah' ]
B = [ 'wibble', 'wobble', 'weeble' ]
C = [ 'nip', 'nop' ]
Run Code Online (Sandbox Code Playgroud)

而且我知道如何计算笛卡尔/十字架产品,(蚂蚁它覆盖了整个地方,在这个网站和其他地方)所以我不会在这里讨论它.

我正在寻找的是一种算法,它允许我简单地从笛卡尔积中选择一个特定项而不生成整个集或迭代直到我到达第n个项.

当然,我可以很容易地迭代一个像这样的小例子集,但我正在处理的代码将使用更大的集合.

因此,我正在寻找一个功能,我们称之为'CP',其中:

CP(1) == [ 'foo', 'wibble', 'nip' ]
CP(2) == [ 'foo', 'wibble', 'nop' ]
CP(3) == [ 'foo', 'wobble', 'nip' ]
CP(4) == [ 'foo', 'wobble', 'nop' ]
CP(5) == [ 'foo', 'weeble', 'nip' ]
CP(6) == [ 'foo', 'weeble', 'nop' ]
CP(7) == [ 'bar', 'wibble', 'nip' ]
...
CP(22) …
Run Code Online (Sandbox Code Playgroud)

algorithm math perl cartesian-product cross-product

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