问题列表 - 第49197页

帮助JavaScript正则表达式

我需要检查字符串是否以以下内容开头:"+ ="

我试过了

str.search("+="));
Run Code Online (Sandbox Code Playgroud)

str.search("\+\="));
Run Code Online (Sandbox Code Playgroud)

但得到

未捕获的SyntaxError:无效的正则表达式:/ + = /:无需重复

你能帮我解决这个问题,并为JavaScript正则表达式推荐一个很好的资源吗?

javascript regex

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

私有操作符在c ++中删除

我正在为我的一个项目中的一系列对象开发垃圾收集机制.我想要的是动态分配这些对象,new而不必调用delete.

这可以通过重载operator new来调用为这些对象实现GC的专用分配器对象(当分配了太多内存时触发收集).但是,我遇到了一个问题:用户仍然可以delete对这些对象执行操作,但我不希望这样.

使operator delete私有是因为++处理故障在建设路上的C问题-如果operator new是公开的,operator delete应该是太.这有时也被认为是替代只是使双方operator newoperator delete私有的,只能暴露出工厂创建方法给用户.我可以做到这一点,但它感觉不太干净,需要额外的代码来编写.

编辑:另一种方法是使operator delete空(或抛出异常).然后,要实际释放对象,我的GC将显式调用析构函数,然后使用全局释放内存::operator delete.

还有其他想法吗?

c++ garbage-collection memory-management new-operator

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

子域上的会话仍然无效

几个小时前,我在这里创建了一个关于会话的线程,这个会话在切换到www时不再存在.这应该已经解决了这个问题:

session_set_cookie_params(0, '/', '.'.$_SERVER['HTTP_HOST']);
Run Code Online (Sandbox Code Playgroud)

根据php.net和其他网站上的几个例子,这应该是正确的.什么时候去网站而不使用www.然后切换到www.会话仍然有效(我仍然记录它),但由于一些非常奇怪的原因,使用www时无法在网站上创建会话(以便登录).现在.

所以我可以在不使用www时登录,我可以切换到www.所以会话仍然存在,但我使用www时无法登录.

任何人都可以解释这种行为以及我如何解决这个问题?此外,使用该服务器变量安全吗?

谢谢!

php session

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

指向结构数组的指针作为JNA方法参数

我试图在SctpDrv库上创建一个JNA实现.我的问题是我没有理解指向结构数组的指针.我试图寻找解决方案,但它们总是与我需要知道的略有不同.JNA dokumentation仅显示一个带有指向基本类型数组的指针的示例.似乎还有不同的方法,其中一些是被贬低的.

int  WSAAPI internal_sctp_getpaddrs (SOCKET, sctp_assoc_t, struct sockaddr **);
void WSAAPI internal_sctp_freepaddrs (struct sockaddr *);
Run Code Online (Sandbox Code Playgroud)

根据文档,getpaddrs的第三个参数用于返回sockaddr结构数组.声明相应JNA方法的推荐方法是什么,以及如何准备参数,以及在我的java代码中调用后访问它?

另外,为了帮助我理解,我如何声明和使用一个函数,而参数是一个包含指针的数组?

c java jna

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

在(功能性?)编程的背景下,"reify"和"具体化"意味着什么?

我在关于haskell和函数式编程的博客经常阅读这个术语(特别是在sigfpe的博客中),但我不清楚这是什么意思.我大部分时间都不知道,但如果我知道,我可能会更好地理解文本.谷歌没有帮助我.我迷失在技术方面.

此外,世界的非技术含义("改变抽象具体")并没有帮助我理解在代码中实现某些东西的实际意义.

我对计算机科学概念有点慢,所以使用代码的实际例子会很好.:P

haskell functional-programming terminology metaprogramming reification

77
推荐指数
5
解决办法
9000
查看次数

使用Ninject,我可以从接口创建一个实例而不暴露我的具体类吗?

我到目前为止看到的样本看起来像这样:

像这样写你的代码......

public class Samurai {
  public IWeapon Weapon { get; private set; }
  public Samurai(IWeapon weapon) {
    Weapon = weapon;
  }
}
Run Code Online (Sandbox Code Playgroud)

Ninject可以将界面映射到这样的具体类型......

public class WarriorModule : NinjectModule {
  public override void Load() {
    Bind<IWeapon>().To<Sword>();
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,当我var samurai = kernel.Get<Samurai>();在我的武士对象中说我的IWeapon自动成为剑.

这很酷,但如果我只想要没有武士的ISword并且混凝土剑被标记为内部怎么办?

目前,我使用自制的依赖解析器,我可以说var sword = DependencyResolver.Current.Resolve<ISword>();,它给了我一个Sword演员作为ISword.我的具体类被标记为内部,因此开发人员必须通过我的依赖项解析器来创建实例.Ninject有类似的东西吗?

还有一个额外的问题,我用自定义的"DefaultConcreteType"属性装饰我的接口,如果不存在映射,我的依赖解析器可以使用该属性.Ninject也有类似的东西吗?

谢谢

c# dependency-injection ninject inversion-of-control

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

我有一个map&lt;string, vector&lt;record&gt;&gt;,如何从vector&lt;record&gt;中删除记录?

我已经尝试了所有可能的可能性,但未能找到解决方案。请帮忙

我想在迭代时删除地图中向量中的记录。

map < string, vector < record> >::iterator map_it;
for(map_it = map_records.begin(); map_it != map_records.end(); ++map_it){
    vector < record>::iterator vec_it;
    for(vec_it = (*map_it).second.begin(); vec_it != (*map_it).second.end();){
        if(condition){
            cout << (*map_it).second.size() << endl;
            vec_it = map_it->second.erase(vec_it);
            cout << (*map_it).second.size()<< endl;
        } else {
            ++vec_it;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了这样的方法,
(*map_it).second.erase(vec_it)
如果我查询它的大小并且程序以分段错误结束,它会给出一些很长的数字

输出:
18446744073709551615
18446744073709551615
分段错误

任何帮助表示赞赏

c++ dictionary vector segmentation-fault

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

我是否需要在初始化时将setLength设置为动态数组?

type Tmyclass = class(TObject)
  somearray: array of TSometype
  FBool: Boolean;
  Fint: Integer;
  Fstr: string;
  constructor Create;
  destructor Destroy; override;
end;

implementation

constructor Tmyclass.Create;
begin
  inherited;
  SetLength(somearray,0); //is this needed?
end;

destructor TmyClass.Destroy;
begin
  SetLength(somearray,0); //this IS needed!
  inherited;
end;
Run Code Online (Sandbox Code Playgroud)

还有什么类型在创建时初始化?例如我在课堂上宣布的内容.FBool被保证是假的吗?是FInt保证是0吗?是Fstr保证是''?

当地情况怎么样?只有字符串?

我使用Delphi XE.

delphi delphi-xe

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

为什么WPF使用附加属性来定位网格中的位置?

为什么我们需要"附加属性"?它的概念让我有点烦恼,因为你可以想象设置特定DependencyObject上甚至不存在的属性值(并且它们将被默默地忽略).它几乎看起来像是一个寻找问题的解决方案 - 为什么不只是像HTML那样做,并让父元素明确地确定儿童定位等事情?

也就是说,而不是:

<Grid>
  <Grid.ColumnDefinitions>
    <!-- etc. -->
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>
    <!-- etc. -->
  </Grid.RowDefinitions>
  <SomeElement Grid.Column="0" Grid.Row="0" />
  <!-- etc. -->
</Grid>
Run Code Online (Sandbox Code Playgroud)

为什么不是这样的(相当于<tr><td>在HTML中):

<Grid>
  <Grid.Row>
    <Grid.Column>
      <SomeElement />
    </Grid.Column>
    <!-- etc. -->
  </Grid.Row>
</Grid>
Run Code Online (Sandbox Code Playgroud)

也许网格只是一个不好的例子,附加属性在其他环境中更有意义?或许我完全错过了一些东西?

wpf xaml design-decisions attached-properties

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

请帮助我了解移动Safari的文本大小调整

Mobile Safari默认调整一些文本,包括<h1><h2>元素.我搜索SO以了解如何防止这种情况,并发现了以下问题:

iPhone的字体大小问题

旋转时防止iPhone缩放

定向屏幕更改为水平后字体大小更改

请注意,所有这些的答案是CSS属性:

-webkit-text-size-adjust:none;
Run Code Online (Sandbox Code Playgroud)

这非常适合维护移动Safari上的标题和段落元素之间的相对文本大小.但是,我偶然发现了一篇刚刚发布的博文,标题为" 谨防--webkit-text-size-adjust:none:

这样做可以防止基于WebKit的浏览器调整文本大小.甚至不能使用整页缩放来调整文本大小.现在,如何防止用户调整文本大小是一个好主意?

根据Apple的Safari CSS参考(需要JavaScript),-webkit-text-size-adjust"指定用于在iOS上的Safari中显示文本内容的大小调整".

当给定值"none"时,文档指定"文本大小未调整".

现在,我把属性描述意味着不会自动调整相对文本大小,而不是文本大小无法由用户调整,但作者说他的测试显示文本确实无法在WebKit中调整指定值为"none"时的基于浏览器的浏览器.

(我目前处于无法对此进行验证的位置,但我将假设他和其他提出索赔的人都是正确的.)

所以我的问题是:如何在不牺牲可访问性的情况下控制移动Safari中标题和段落之间的相对文本大小?

css webkit mobile-safari

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