#!/bin/bash
echo "print('Hello 1')" | python3
cat | python3 -u <<EOF
print('Hello 2')
EOF
echo "print('Hello 3')" | python3
Run Code Online (Sandbox Code Playgroud)
这输出
Hello 1
Hello 2
Run Code Online (Sandbox Code Playgroud)
在打印决赛之前,它会等我按回车键Hello 3.它也使用python的-u标志进行无缓冲输出.
为什么这样做cat但不是为了echo?
以下代码抛出std :: bad_cast
struct Foo {
void foo () {}
};
struct Bar {
Bar () {
dynamic_cast <Foo &> (*this) .foo ();
}
virtual ~ Bar () {}
};
struct Baz : public Foo, public Bar {
};
int main ()
{
Baz b;
}
Run Code Online (Sandbox Code Playgroud)
我记得曾经读过dynamic_cast如何进行实现性能权衡,因为"它遍历了完整的继承格"以便正确评估.编译器在这里需要做的是先强制然后再次向下.
可以进行上述工作还是需要添加
virtual Foo* Bar::as_foo()=0;
?
Clang自己的诊断宣传包含以下内容:
由于Clang具有范围突出显示功能,因此您无需再将代码打印出来.这在G ++中尤其糟糕(它经常发出包含降低的vtable引用的错误),但是在某些情况下,即使GCC在尝试执行此操作时也会产生难以理解的错误消息.
谷歌搜索这个短语并没有给出任何非常有用的信息,后续的例子完全不相关.
有人可以发一个它正在谈论的例子吗?
谢谢.
试试这个:
<div style="float:left"><p>LEFT</p></div>
<div style="float:right"><p>RIGHT</p></div>
<div><p>
<input type="text" style="width:100%" />
<input type="submit" />
<a href="">Link</a>
</p></div>
Run Code Online (Sandbox Code Playgroud)
最终,LEFT和RIGHT位于第一行,文本输入占据整个第二行,"Submit"和"Link"位于第三行.
我希望所有这些都在一行上,如果窗口加宽,文本输入应该加宽.没有桌子我该怎么做?
以下内容对我来说非常合理:
CREATE TABLE `mydb`.`Temp` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`x` VARCHAR ( 300 ) NOT NULL ,
`id_foo` INT NULL DEFAULT NULL,
FOREIGN KEY ( `id_foo`) REFERENCES `Foo` (`id`) ON DELETE CASCADE ,
INDEX (`id_foo`),
INDEX (`x`),
UNIQUE (`id_foo`, `x`)
) ENGINE = INNODB;
Run Code Online (Sandbox Code Playgroud)
使用MySQL,这会产生错误
#1071 - Specified key was too long; max key length is 767 bytes
Run Code Online (Sandbox Code Playgroud)
这似乎是错误的,因为整行是309字节:小于767,甚至不是一半.这是怎么回事?
这是一个简单的程序
#include <iostream>
#include <deque>
#include <string.h>
std :: deque <char> d;
int main ()
{
const char * X = "abcdefg";
d .insert (d .end (), X, X + strlen (X));
d .erase (d .begin (), d .begin () + 4);
d .insert (d .end (), X, X + strlen (X));
std :: cout .write (& d [0], d .size ());
}
Run Code Online (Sandbox Code Playgroud)
我希望输出为"efgabcdefg",实际输出为十六进制
65 66 67 00 00 00 00 C9 0B 02
Run Code Online (Sandbox Code Playgroud)
这是"efg ???????"
出了什么问题?
我一直想知道:OpenGL对象"名称",由glGenTextures等生成的整数,似乎永远不会为零,所以我使用零来表示未初始化的句柄并检查错误.到目前为止一切都还好.
我还被告知,在完成一个对象之后调用glBind*(0)是一个好习惯,以确保之后不会意外地操纵延迟绑定的对象.听起来很明智.
是否有任何情况下OpenGL对象ID为零,使我的测试无效,或者以这种方式使用零会产生令人惊讶的效果,因为它不引用非对象?
PS是否存在零作为非对象的符号名称?
PPS是否会因大量使用绑定/解除绑定模式而遭受性能损失?(由于封装,代码的某些部分主要是冗余的重新绑定.)
我可以编译,链接和运行GLSL程序,但不能提取所有属性的句柄.
const std :: string v = shaders .read_file (VERTEX_SHADER);
const std :: string f = shaders .read_file (FRAGMENT_SHADER);
std :: cout
<< "Vertex shader:\n" << v
<< "Fragment shader:\n" << f
<< "End of shaders.\n";
// Create objects
auto f_id = glCreateShader (GL_FRAGMENT_SHADER);
auto v_id = glCreateShader (GL_VERTEX_SHADER);
auto p = glCreateProgram ();
// Success flags
GLint v_ok, f_ok, p_ok;
// Compile vertex shader
const GLchar * source = v .c_str ();
GLint length = v .size ();
glShaderSource …Run Code Online (Sandbox Code Playgroud) 我知道我可以使用setrlimit来限制我的程序可以使用的资源,但是如果我的程序启动另一个进程,我该如何设置其他进程的相应限制?
N ..是的,我可以降低我自己的(硬)限制,然后分叉,但是没有特权,将无法再次恢复我自己的限制.这不是解决方案.
我有一个页面,document.body.onload=function(){...}但由于该文档还包含外部<img>标签等,因此会出现延迟; onload似乎只有在这些外部网站提供某种响应后才被解雇.
我把代码放进去是onload因为我认为DOM树在那之前还没有完全可用(例如,如果过早调用,document.getElementById(x)可能会返回null).
是否有一个事件在DOM中的所有内容都可访问后触发,但在所有内容都被加载之前触发?