问题列表 - 第4083页

返回指向静态局部变量的指针是否安全?

我正在使用一些代码,这些代码广泛使用返回指向静态局部变量的指针的习惯用法.例如:

char* const GetString()
{
  static char sTest[5];
  strcpy(sTest, "Test");
  return sTest;
}
Run Code Online (Sandbox Code Playgroud)

我认为这是安全的吗?

PS,我知道这是做同样事情的更好方法:

char* const GetString()
{
  return "Test";
}
Run Code Online (Sandbox Code Playgroud)

编辑: 道歉,功能签名当然应该是:

const char* GetString();
Run Code Online (Sandbox Code Playgroud)

c static

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

继承还是构成:依靠"is-a"和"has-a"?

当我设计类并且必须在继承和组合之间进行选择时,我通常使用经验法则:如果关系是"is-a" - 使用继承,如果关系是"has-a" - 使用组合.

总是对的吗?

谢谢.

c++ oop inheritance

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

Cache-Money:仅用于生产?

我使用cache-money gem来透明地使用Memcached.使用提供的配置文件,它在所有模式(开发,测试,生产)上启用.有没有办法只在生产模式下激活缓存资金?

目前还不清楚如何做到这一点,并且在开发模式下处理缓存是一个彻底的痛苦.

memcached ruby-on-rails

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

指责Rails的"魔法"是否公平?

当我第一次开始研究Rails和Django时,我被Djang开发人员从Rails转向,他们认为Rails是一个使用过多"魔法"(漏洞抽象)的黑盒子.在进一步探索Rails时,我想知道这是否是一个不知情的假设,基于不知道如何在不使用脚手架的情况下在Rails中实现自定义.脚手架本身似乎隐藏了很多但是一旦你理解了如何创建没有它的项目,Rails似乎与Django一样高度可定制.这是我对Rails"神奇"评论家的误解吗?

django black-box ruby-on-rails

6
推荐指数
3
解决办法
2116
查看次数

尝试从Rails控制器调用helper方法时出现NoMethodError

我正NoMethodError试图从我的一个控制器类中访问我的一个辅助模块中定义的方法.My Rails应用程序使用helper带有:all符号的类方法,如下所示:

class ApplicationController < ActionController::Base
  helper :all
  .
  .
end
Run Code Online (Sandbox Code Playgroud)

我的理解是,这应该使我的所有控制器类自动包含app/helpers目录中的所有辅助模块,因此将所有方法混合到控制器中.它是否正确?

如果我include在控制器中明确指出了辅助模块,那么一切正常.

ruby ruby-on-rails

73
推荐指数
7
解决办法
6万
查看次数

数组键号和"数字"意外地被认为是相同的

我一直在玩javascript数组,我遇到了,我觉得,有些不一致,我希望有人可以为我解释.

让我们从这开始:


var myArray = [1, 2, 3, 4, 5];
document.write("Length: " + myArray.length + "<br />");
for( var i in myArray){
   document.write( "myArray[" + i + "] = " + myArray[i] + "<br />");
}
document.write(myArray.join(", ") + "<br /><br />");
Run Code Online (Sandbox Code Playgroud)
Length: 5
myArray[0] = 1
myArray[1] = 2
myArray[2] = 3
myArray[3] = 4
myArray[4] = 5
1, 2, 3, 4, 5

这段代码没有什么特别之处,但我知道javascript数组是一个对象,因此可能会向数组添加特性,这些特性添加到数组的方式似乎与我不一致.

在继续之前,让我注意如何在javascript中将字符串值转换为数字值.

  • 非空字符串 - >字符串或NaN的数字值

  • 空字符串 - > 0

因此,由于javascript数组是一个对象,以下是合法的:


myArray["someThing"] = "someThing";
myArray[""] = "Empty …
Run Code Online (Sandbox Code Playgroud)

javascript arrays type-conversion

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

如何在C++中创建Lua表,并将其传递给Lua函数?

在C++中,我有一个map<string, string>,包含未知数量的条目.如何将其传递给Lua函数,以便Lua函数可以将数据用作表格?

c++ string lua map lua-table

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

使用C#从字符串中删除JavaScript注释

我试图从使用C#的sting中删除javascript注释(///**/).有人有RegEx吗?我正在阅读javascript文件列表,然后将它们附加到字符串并尝试清理javascript代码并轻松加载.Bellow你会发现其中一个RegEx可以正常/* */评论,但我也需要删除//评论:

content = System.Text.RegularExpressions.Regex.Replace(content,
    @"/\*[^/]*/", 
    string.Empty);
Run Code Online (Sandbox Code Playgroud)

javascript c#

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

哪个是查找素数的最快算法?

哪个是使用C++查找素数的最快算法?我使用筛选算法,但我仍然希望它更快!

c++ algorithm primes

175
推荐指数
6
解决办法
30万
查看次数

PYTHONSTARTUP似乎不起作用

我正在尝试使用PYTHONSTARTUP环境变量.我在"我的电脑" - >"高级"等中将其设置为"c:\ python25\pythonstartup.py",它似乎不起作用.

打开IDLE不会运行脚本,尽管它识别了变量:

>>> import os
>>> os.environ['PYTHONSTARTUP']
'c:\\python25\\pythonstartup.py'
>>> 
Run Code Online (Sandbox Code Playgroud)

我正在使用XP和Python 2.5.2.我还不想升级到3.0.

谢谢

python startup

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