我有
body {
background: url(images/background.svg);
}
Run Code Online (Sandbox Code Playgroud)
期望的效果是该背景图像的宽度等于页面的宽度,高度变化以保持比例.例如,如果原始图像恰好是100*200(任何单位)且正文宽度为600px,则背景图像最终应为1200px高.如果调整窗口大小,高度应自动更改.这可能吗?
目前,Firefox看起来正在调整高度,然后调整宽度.这可能是因为高度是最长的尺寸而且它试图避免裁剪?我想垂直裁剪,然后滚动:没有水平重复.
此外,Chrome将图像置于中心,不重复,即使background-repeat:repeat明确给出,这仍然是默认值.
我已经在申请了一段时间,但由于NDA,我无法提出这个问题.
我的Viewcontroller加载了UIPageViewController.视图控制器具有由PageViewControllers手势识别器覆盖的按钮.例如,我在viewcontroller的右侧有一个按钮,当你按下按钮时,PageViewController接管并更改页面.
如何让按钮接收触摸并取消PageViewController中的手势识别器?
我认为PageViewController使我的ViewController成为其视图的子视图.
我知道我可以关闭所有的手势,但这不是我正在寻找的效果.
我宁愿不子类PageViewController苹果表示,这个类是不是要被继承.
这是一个小提琴.
<p>foo <a class="infolink" href="#">bar</a> baz</p>
Run Code Online (Sandbox Code Playgroud)
和
a.infolink::before
{
content: '?';
background: blue;
color: white;
width: 20ex;
height: 20ex;
}
Run Code Online (Sandbox Code Playgroud)
'?' 出现,但显然没有20ex大小.为什么不?在Firefox和Chrome中测试过.
这是myscript.sh
#!/bin/bash
for i in {1..$1};
do
echo $1 $i;
done
Run Code Online (Sandbox Code Playgroud)
如果我运行myscript.sh 3输出是
3 {1..3}
Run Code Online (Sandbox Code Playgroud)
代替
3 1
3 2
3 3
Run Code Online (Sandbox Code Playgroud)
显然$3包含正确的值,为什么不像for i in {1..$1}我for i in {1..3}直接写的一样?
我正在研究C++ 11中新的,轻松的POD定义(第9.7节)
标准布局类是一个类:
- 没有非标准布局类(或此类类型的数组)或引用类型的非静态数据成员,
- 没有虚函数(10.3),也没有虚基类(10.1),
- 对所有非静态数据成员具有相同的访问控制(第11条),
- 没有非标准布局基类,
- 或者在最派生类中没有非静态数据成员,并且最多只有一个具有非静态数据成员的基类,或者没有具有非静态数据成员的基类,并且
- 没有与第一个非静态数据成员相同类型的基类.
我突出了让我感到惊讶的一些事情.
如果我们容忍具有不同访问控制的数据成员会出什么问题?
如果第一个数据成员也是基类会出什么问题?即
struct Foo {};
struct Good : Foo {int x; Foo y;};
struct Bad : Foo {Foo y; int x;};
Run Code Online (Sandbox Code Playgroud)
我承认这是一个奇怪的结构,但为什么要Bad被禁止但不是Good?
最后,如果不止一个组成类有数据成员,会出现什么问题?
赏金问题:所以,这两个Foo不是一回事.精细.第二种形式在图书馆中给出.鉴于我无法改变它,我该如何转发声明呢?
我一直以为C和C++允许重复声明,前提是没有重复的定义.然后我在尝试编写扩展C库的C++代码时遇到了这个问题.
struct Foo;
typedef struct {} Foo;
Run Code Online (Sandbox Code Playgroud)
这会出现以下错误:
'struct Foo'之前的声明为'struct Foo'
我想转发声明,嘲笑它!这有什么不对?
考虑:
delete new std :: string [2];
delete [] new std :: string;
Run Code Online (Sandbox Code Playgroud)
每个人都知道第一个是错误.如果第二个不是错误,我们就不需要两个不同的运算符.
现在考虑:
std :: unique_ptr <int> x (new int [2]);
std :: unique_ptr <int> y (new int);
Run Code Online (Sandbox Code Playgroud)
是否x知道使用delete[]而不是 delete?
背景:当我认为指针的数组类型限定将是一个方便的语言功能时,这个问题浮现在我脑海中.
int *[] foo = new int [2]; // OK
int * bar = new int; // OK
delete [] foo; // OK
delete bar; // OK
foo = new int; // Compile error
bar = new int[2]; // Compile error
delete foo; …Run Code Online (Sandbox Code Playgroud) 看这个例子:
struct Foo
{
int a;
int b;
bool operator == (const Foo & x)
{
return a == x.a && b == x.b;
}
};
int main ()
{
Foo a;
a = {1, 2};
if (a == {1, 2}) // error: expected primary-expression before ‘{’ token
{
}
}
Run Code Online (Sandbox Code Playgroud)
这条线a={1,2}很好.大括号转换为a Foo以匹配隐式operator=方法的参数类型.如果operator=是用户定义的,它仍然有效.
if (a=={1,2}})指示的行错误.
为什么表达式{1,2}不能转换Foo为与用户定义的operator==方法匹配?
我认为我有正确的OpenSSL命令来签署证书,但我已经卡住了,我发现的教程使用了不同的参数格式(我使用的是OpenSSL 0.9.8o 2010年6月1日).
openssl ca -cert cert.pem -keyfile key.pem
(私钥未加密,CSR在stdin上.)
它给出了这个错误
Using configuration from /usr/lib/ssl/openssl.cnf
./demoCA/index.txt: No such file or directory
unable to open './demoCA/index.txt'
Run Code Online (Sandbox Code Playgroud)
查看该配置文件:
[ ca ]
default_ca = CA_default # The default ca section
[ CA_default ]
dir = ./demoCA # Where everything is kept
certs = $dir/certs # Where the issued certs are kepp
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
Run Code Online (Sandbox Code Playgroud)
我没有这个设置.我不想设置任何这个.
它是严格的nessecary,还是有"不打扰"选项?
我尝试创建空目录和文件,但我陷入困境.我真正想要的是上面的命令工作,输出在stdout上,而不触及文件系统上的任何东西 …
几年前,我正在学习x86汇编程序,CPU流水线,缓存未命中,分支预测以及所有爵士乐.
这是两个半的故事.我在处理器viz指令重新排序,缓存预加载,依赖性交错等方面阅读了冗长流水线的所有优点.
缺点是规范的任何偏差都是非常昂贵的.例如,IIRC在早期千兆赫时代的某个AMD处理器每次通过指针(!)调用函数时都会有40个周期的惩罚,这显然是正常的.
这不是一个可以忽略不计的"别担心"号码!请记住,"良好设计"通常意味着"尽可能地考虑您的功能"和"在数据类型中编码语义",这通常意味着虚拟接口.
权衡是不执行此类操作的代码每个周期可能获得两个以上的指令.这些是在编写高性能C++代码时需要担心的数字,这些代码在对象设计上很重要并且可以解决数字运算问题.
据我所知,随着我们进入低功耗时代,长CPU流水线趋势已经逆转.这是我的问题:
最新一代x86兼容处理器是否仍然遭受虚拟功能调用,坏分支预测等的严重处罚?