我发现了这行代码:this.red = (float)(par4 >> 16 & 255) / 255.0F;其中red已被声明为a float.
我试图了解它的作用,特别是因为完整的代码是:
this.red = (float)(par4 >> 16 & 255) / 255.0F;
this.blue = (float)(par4 >> 8 & 255) / 255.0F;
this.green = (float)(par4 & 255) / 255.0F;
this.alpha = (float)(par4 >> 24 & 255) / 255.0F;
GL11.glColor4f(this.red, this.blue, this.green, this.alpha);
Run Code Online (Sandbox Code Playgroud)
所以我猜这个以某种方式使用int(par4)的不同位置来着色文本.在这种情况下par4等于553648127.
这四行是什么意思,特别是>> 16 & 25?
我有一个非常简单的程序,预计会从用户那里获取较少的X字符并将其打印回来:
#include <stdio.h>
#define MAX_INPUT_LENGTH 8
#define HOME 1
int main()
{
char vstup[MAX_INPUT_LENGTH];
printf("Write something. But no more than "MAX_INPUT_LENGTH" characters.\n");
scanf("%"MAX_INPUT_LENGTH"s", vstup);
printf(vstup);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当然,我的尝试"blah"CONSTANT"blah"不起作用.但应该离开去做,不应该吗?我认为常量大多只是程序中被替换的文本片段,只有一些基本逻辑.
我需要以ErrorEvent编程方式触发,但无法弄清楚如何初始化事件的属性.这些属性是只读的,initEvent()只是初始化事件类型,是否有气泡,以及是否可以取消.
我试过了
var myErrorEvent = new ErrorEvent("error", new Error("This is my error"));
Run Code Online (Sandbox Code Playgroud)
和
myErrorEvent.initEvent("error", false, true, new Error("This is my error"));
Run Code Online (Sandbox Code Playgroud)
要么
// This function would be defined in IE only. Could not find it in Chrome.
myErrorEvent.initErrorEvent("error", false, true, "This is my error", "myfile.js", 1234);
Run Code Online (Sandbox Code Playgroud)
我尝试了很多其他的东西,但无法ErrorEvent正确设置属性.
这甚至可行吗?
我正在创建一个类 - 让我们称之为Container- 它基本上只包含一个std::vector特殊的逻辑,决定了如何选择矢量值.我想添加一个方法,通过一次调用向我的类添加多个值.这是我添加一个项目的方法:
void LoopGenerator::add(RandomStripe &stripe)
{
stripes.push_back(new SingleStripe(stripe));
}
Run Code Online (Sandbox Code Playgroud)
我想要一个像这样调用的类似方法:
LoopGenerator gen = LoopGenerator();
gen.add(RandomStripe(), RandomStripe(), RandomStripe() ... and as much as you want ... );
Run Code Online (Sandbox Code Playgroud)
并将所有参数添加到内部std::vector.
这可能只使用标准库,或者最好没有标准库吗?
如果您尝试将构建类型更改Console (/SUBSYSTEM:CONSOLE)为Windows (/SUBSYSTEM:WINDOWS),则会收到错误,抱怨输入点WinMain丢失:

我认为解决这个问题的最佳方法是int main(int, char**)从WinMain以下方面调用您的法线:
#ifdef _WINDOWS_
INT WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR lpCmdLine, INT nCmdShow)
{
return main(0, NULL);
}
#endif
Run Code Online (Sandbox Code Playgroud)
问题是ImageMagick正在使用控制台参数(我计划将来也使用它们):
所以过去NULL并且0可能不是一个好主意.如何将WinMain参数转换为mainarugments?
基本上我正在制作Exception类,我希望能够轻松传递调试细节,例如:
var error = someFunction();
if(error!=0) {
throw MyException("someFunction ended with error state #",error,'.');
}
Run Code Online (Sandbox Code Playgroud)
这将要求MyException类接受可以处理的varargs参数stringstream.我不知道我究竟能做到这一点,我想象的是:
#include <string>
#include <sstream>
template /* MUCH DEEP MAGIC HERE**/
MyException::MyException(/* MOAR DEEP MAGIC!!! **/) {
std::stringstream ss;
for(/** ITERATE THROUGH MORE MAGIC**/) {
ss<</**FETCH MAGIC STUFF**/;
}
this->message = ss.str();
}
Run Code Online (Sandbox Code Playgroud) 我有(再次)升级库的问题,特别是zlib/iostreams部分的问题,这是由于该升级版本中的(再次)错误 - zlib库中有一些更改没有反映到该升级版本.
我不是唯一一个遇到这个问题的人,但我似乎是唯一一个不知道bjam.exe每个人都在讨论什么的人,就好像它是Windows上的内置命令一样.显然,我自己过去使用过那个命令,但那是2年前的事.
我试过这个:http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/但我得到的是更多被诅咒的源代码.
那我从哪里得到它?我现在在哪里可以得到它?
我只想生成范围内的随机整数<-1,1>,即-1,0或1.我认为这段代码指出:
Math.round(Math.random()*2-1)
Run Code Online (Sandbox Code Playgroud)
但是除了-1,0和1之外,我还得到了一个更多的价值.我不确定应该是什么:

现在我不认为这是实现错误,但如果是,我正在使用Firefox 41,同样的事情发生在Google Chrome 39.当我尝试登录-0控制台时,它显示为-0但-0转换为String显示为"0".它是什么?我可以将它用于某些东西,比如一些很酷的编程黑客和解决方法吗?如果我不忽略它会导致一些错误吗?
我将有一个网络工作者来解析巨大的文本文件(200000行,尽管语法简单)。我希望用户通过拖放即可提交该文件,否则将获得一个File对象:
var work = new Worker("parser.js")
document.addEventListener("drop", function(e) {
e.preventDefault();
var dt = e.dataTransfer;
var files = dt.files;
if(files.length>0) {
var firstFile = files[0]
var reader = new FileReader();
//SEND FILE TO WORKER?
}
});
Run Code Online (Sandbox Code Playgroud)
我听说了可转让的对象。有没有办法将文件传输到Worker?以某种方式,GUI线程不会因读取文件而变慢?
我有一个简单的.proQt Creator项目.我在Qt .uiXML表单文件中有大部分(如果不是全部)应用程序文本.我想使用Qt Linguist翻译该项目中的文本,但我不知道如何开始.互联网上没有有用的"Qt Linguist入门"文章.页面自豪地称自己Qt Linguist手册也不是很有用,因为它只包含通用信息,而不是实用的提示.
我在Qt Creator中找到了这些项目:

我不太清楚如何使它们工作以及它们与Qt Linguist的关系是什么,它是完全独立的应用程序.我打开了Qt Linguist,它甚至没有包含任何File- > New...项目菜单,这是我要开始的地方.
c++ ×4
javascript ×3
boost ×1
c ×1
fileapi ×1
hex ×1
java ×1
overloading ×1
qt ×1
qt-linguist ×1
string ×1
stringstream ×1
templates ×1
transferable ×1
vector ×1
web-worker ×1
winapi ×1