小编Zet*_*eta的帖子

当用户通过webkit取消按钮取消输入时会触发什么事件?

某些浏览器(如Chrome)会在输入上提供额外的搜索取消按钮type="search",如下图所示.

通常keyup,附加检查足以测试用户是否删除了输入字符串(不是右键点击帐户).但是,如果用户通过webkit浏览器提供的特殊取消按钮取消输入,则既keyup不会change触发也不会触发.

这些取消按钮是否有某种特殊事件?或者我是否必须检查已存在的事件之一click

chrome的屏幕截图

javascript jquery html5

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

按0和1的顺序查找1的数字

这是一个面试问题.最初我发现它非常容易和愚蠢.最后我没能解决这个问题.:(

问题是,我们有一个数组,其序列为0,后跟1的序列和0的序列.这样的事情.

   int [] arr ={0,0,0,1,1,1,0,0,0}
Run Code Online (Sandbox Code Playgroud)

现在,在log(n)时间内找到数组中的1的数量.

任何的想法 ?:(

arrays time-complexity

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

为什么只有声明的虚函数会导致编译错误?

我有这个班,

class Base {
    public:
        void foo();
};

int main()
{
    Base b;
}
Run Code Online (Sandbox Code Playgroud)

main将编译没有任何错误,虽然foo()没有定义.但是b.foo();会导致编译错误.

此外,即使是constructoroperator=,我就可以宣布他们没有定义它们,只要它会编译,因为我不触发它们.

我再次添加一个虚函数Base,

class Base {
    public:
        void foo();
        virtual void bar();  // no defition is gonna be provided.
};
Run Code Online (Sandbox Code Playgroud)

现在,main无法编译,而是我得到一个错误:

undefined reference to vtable for Base

好吧这让我感到困惑,因为以前main只要foo()没有调用就可以编译,但是现在我添加bar()它并没有被调用.

在这种情况下为什么不编译?

c++

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

如何使用WinRAR创建自安装可执行文件?

我见过可执行文件提取自己并在setup.exe之后运行压缩文件:双击该文件解压缩它然后运行以前压缩的文件setup.exe.

我怎么能做到这一点?我想使用WinRAR,如何将setup.exe解压缩后的自解压可执行文件解压缩到临时文件夹?

installer self-extracting winrar

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

有可能让` - =`与文字一起工作吗?

今天我在Quora上发现了这篇帖子,声称这一点

factorial(n) = def $ do    
    assert (n<=0) "Negative factorial"    
    ret <- var 1    
    i <- var n    
    while i $ do    
        ret *= i    
        i -= 1
    return ret
Run Code Online (Sandbox Code Playgroud)

可能是正确的Haskell代码.我好奇,最后得到

factorial :: Integer -> Integer
factorial n = def $ do
  assert (n >= 0) "Negative factorial"
  ret <- var 1
  i   <- var n
  while i $ do
      ret *= i
      i   -= 1
  return ret
Run Code Online (Sandbox Code Playgroud)

使用var = newSTRef,规范定义 …

haskell

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

全宽和高SVG

困境:制作一个完整的窗口svg图像,填充方面失真,不使用SVG标签.为什么没有svg标签?因为我打算在页面的生命周期中稍后交换SVG(如果不经常),我还没有找到一种简单的方法来做到这一点.

失败的尝试:

  <!-- for the record, my style are in a css file, 
       for example purposes they are style attrs-->

  <!-- Working in Webkit but not in firefox, in firefox blocks stretching 
       and places the svg in the middle of the tag-->
  <img src="my.svg" style="width:100%;height:100%;
       position:fixed;top:0;left:0;bottom:0;right:0;" />

  <!-- Both Webkit and Firefox block distortion, so the svg 
       appears centered in the div rather than conforming to the div-->
  <div style="width:100%;height:100%;position:fixed;top:0;
       left:0;bottom:0;right:0;background-size:cover;
       background-image:url(my.svg);" />
Run Code Online (Sandbox Code Playgroud)

我也试过了

 background-size:contain;
 background-size:cover;
 background-size:100% 100%;
 background-postion: center …
Run Code Online (Sandbox Code Playgroud)

css svg css3

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

为什么GHC只警告部分实现的类,而不是错误?

我认为标题已经自我解释了,但是这里有一个例子来说明我的观点:

class Foo a where
    someFunction :: a -> a -> Bool

instance Foo Bool
Run Code Online (Sandbox Code Playgroud)

当我编译它时,编译器会发出警告:

Warning:
    No explicit method or default declaration for `someFunction'
    in the instance declaration for `Foo Bool'
Run Code Online (Sandbox Code Playgroud)

调用该函数现在将导致运行时错误.为什么这是一个警告,而不是编译时错误?有没有办法使这成为编译时错误?

haskell typeclass ghc

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

对于包含包装类型和类型本身的联合,是否有任何保证?

我可以把T和一个包裹Tunion并检查他们,因为我喜欢?

union Example {
    T value;
    struct Wrapped { 
       T wrapped;
    } wrapper;
};
Run Code Online (Sandbox Code Playgroud)
// for simplicity T = int

Example ex;
ex.value = 12;
cout << ex.wrapper.wrapped; // ?
Run Code Online (Sandbox Code Playgroud)

C++ 11标准只保证保存对常见初始序列的检查,但value不是struct.我答案是否定的,因为包装类型甚至不能保证与其解包对应的内存兼容,并且访问非活动成员只能在常见的初始序列上明确定义.

c++ struct types unions language-lawyer

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

这两个JavaScript声明有什么区别?

对于其中一个," ()"在里面,而另一个在外面.他们来了:

var a = (function() {
    return {
        bla: function() {
            console.log('a');
        }
    };
} () );

var b = (function() {
    return {
        bla: function() {
            console.log('b');
        }
    };
}) ();

a.bla();
b.bla();
Run Code Online (Sandbox Code Playgroud)

javascript

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

我是否可以始终安全地转换为固定(范围)枚举的基础类型?

TL; DR:以下是否始终安全?或者它是否导致未定义,未指定或实现定义的行为?

template <class T> 
using ut = typename std::underlying_type<T>::type;

template <typename E> ut<E> identity(ut<E> value) {
  return static_cast<ut<E>>(static_cast<E>(value));
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个范围的枚举,我总是可以将它转换为基础类型:

#include <cassert>             // if you want to follow along
#include <initializer_list>    // copy everything and remove my text

enum class priority : int { 
  low = 0, 
  normal = 1,
  high = 2 
};

// works fine
int example = static_cast<int>(priority::high);
Run Code Online (Sandbox Code Playgroud)

对于枚举中定义的所有值,我也可以期望得到值:

constexpr priority identity_witness(priority p) {
  return static_cast<priority>(static_cast<int>(p));
}

void test_enum() {
  for (const auto p : …
Run Code Online (Sandbox Code Playgroud)

c++ casting language-lawyer c++11

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