小编emk*_*y08的帖子

HTML文本输入仅允许数字输入

有没有一种快速的方法来设置HTML文本输入(<input type=text />)只允许数字键击(加'.')?

html javascript jquery

792
推荐指数
30
解决办法
178万
查看次数

c ++模板中的const引用

在具有泛型类型T的C++模板中,我可以使用

const T &
Run Code Online (Sandbox Code Playgroud)

获取对常量T的引用.但是,如果现在T本身是引用类型(例如T = int&),则上述术语解析为

int &
Run Code Online (Sandbox Code Playgroud)

而不是

const int &
Run Code Online (Sandbox Code Playgroud)

这很有意义,因为任何引用本身都是不变的.但是,还有一种方法需要一个

const T &
Run Code Online (Sandbox Code Playgroud)

如果T本身是参考类型?

编辑:要评估的示例代码(g ++编译器):

template <typename T> class TemplateClass
{
public:
    void foo(const T &bar) { }
};

int main()
{
    TemplateClass<int &> x;
    x.foo(0);   // <-- compile error: no conversion from int to int&
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ templates const reference

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

gdb catchpoint仅用于未捕获的C++异常?

通过使用gdb命令设置catchpoint,我可以告诉gdb调试器在引发任何C++异常后立即停止

catch throw
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法只停止未捕获的 C++异常(比如在C#或Java中)?这样可以在某些情况下更容易找到错误.

谢谢!

c++ gdb breakpoints exception

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

preg_split vs mb_split

根据PHP手册,uPCRE正则表达式的修饰符支持对模式和主题字符串的UTF-8支持.

考虑到这一点,使用PCRE表达式与u修饰符和相应的mb_*多字节字符串函数之间有什么区别吗?(假设所有字符串都是UTF-8编码的.)


作为一个例子,考虑preg_splitvs mb_split:两者

preg_split('/' . $pattern . '/u', $string);
Run Code Online (Sandbox Code Playgroud)

mb_split($pattern, $string);
Run Code Online (Sandbox Code Playgroud)

似乎返回相同的结果.那么,应该首选哪一个?它甚至重要吗?

php regex pcre split

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

在容器类型中转换指向const的指针

C++从提供隐式转换T *const T *.

如果我T *现在在容器类中使用,比如in vector<T *>,那么当然没有隐式转换vector<const T *>.

使用reinterpret_cast似乎可以投射整个容器,但实际上这样做是否安全?

template <typename T>
const vector<const T *> & constVector(const vector<T *> & vec) {
    return reinterpret_cast<const vector<const T *> &>(vec);
}

// Usage:
vector<int *> vec1;
vector<const int *> vec2 = constVector(vec1);
Run Code Online (Sandbox Code Playgroud)

c++ containers pointers casting const

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

在 GDB 中跳过 C++ throw 语句

当使用 GNU GDB 调试器调试 C++ 程序时,我可以使用 GDB 命令跳过下一行代码:

next
Run Code Online (Sandbox Code Playgroud)

但是,当在下一行中抛出异常时,例如

throw SomeException();
Run Code Online (Sandbox Code Playgroud)

然后 GDB 继续运行直到下一个断点,而不是在catch块的第一行内停止。

这是 GDB 中的错误,还是我只是使用了错误的命令?

我在MinGW32 / Windows 上使用 GDB 版本 7.7。

c++ debugging gdb exception throw

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

C++中未处理的异常检查

如果未处理异常,在C++中是否有任何方法可以获得编译时错误或警告?例如,请考虑以下Java代码段:

public void f()
{
    g();  // <-- Java compiler reports "Unhandled exception" error here.
}

public void g() throws Exception
{
}
Run Code Online (Sandbox Code Playgroud)

g ++或MSVC可以做类似的事吗?或者是否有任何外部代码解析工具可以做到这一点?我想可以通过编程方式扩展Eclipse CDT的C++解析器来实现这一目标,但是......有更简单的解决方案吗?

c++ exception-handling exception

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