我见过很多像这样的代码:
SomeType* ptr = NULL;
ptr = SomeMethod(some, params);
Run Code Online (Sandbox Code Playgroud)
重点是什么?我也看到它在ptr其他地方声明的地方(例如在类定义中),然后在类构造函数中有这样的:
ptr = NULL;
ptr = SomeMethod(some, params);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这样做.当然这ptr = NULL条线路没用?
我以这种方式旋转位图,在每个按钮上单击图像旋转90度
Matrix matrix = new Matrix();
matrix.postRotate(90);
rotated = Bitmap.createBitmap(rotated, 0, 0,
rotated.getWidth(), rotated.getHeight(), matrix, true);
iv.setImageBitmap(rotated);
Run Code Online (Sandbox Code Playgroud)
我用很多图像试过这个,但是现在一个引起了OutOfMemoryError.有办法防止这种情况吗?当然我可以调用recycle,但后来我丢失了位图并且必须从imageview再次获取它.我认为这不会有任何区别.
所以我试图用std :: chrono :: high_resolution_clock来计时执行某件事需要多长时间。我认为您可以找到开始时间和结束时间之间的区别...
为了检查我的方法是否有效,我编写了以下程序:
#include <iostream>
#include <chrono>
#include <vector>
void long_function();
int main()
{
std::chrono::high_resolution_clock timer;
auto start_time = timer.now();
long_function();
auto end_time = timer.now();
auto diff_millis = std::chrono::duration_cast<std::chrono::duration<int, std::milli>>(end_time - start_time);
std::cout << "It took " << diff_millis.count() << "ms" << std::endl;
return 0;
}
void long_function()
{
//Should take a while to execute.
//This is calculating the first 100 million
//fib numbers and storing them in a vector.
//Well, it doesn't actually, because it
//overflows …Run Code Online (Sandbox Code Playgroud) 我的编译器抱怨并抛出有关此代码的错误(请参阅标题):
int toLevel(int xp)
{
int points = 0;
int level = 1;
for(; level < MAX_LEVEL; level++)
{
points += floor(level + 300*pow(2, level/7.));
if(xp < points)
{
break;
}
}
return level;
}
Run Code Online (Sandbox Code Playgroud)
错误for(; level < MAX_LEVEL; level++)在线上,完整的错误日志看起来像(第50行,供参考):
In function 'int toLevel(int)':
50 error: expected primary-expression before ';' token
50 error: expected ')' before ';' token
50 error: expected ';' before ')' token
48 warning: unused variable 'points'
59 error: expected '}' at end of input …Run Code Online (Sandbox Code Playgroud) 所以我做了这个,有人提交了一个新的VB.NET hello world示例:
Module m1
Sub Main()
Console.out.writeline("Hello World")
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
这是有效的VB.NET吗?我不懂语言,所以想检查一下.
目前网站上的示例是:
Console.WriteLine ("Hello, World!")
Run Code Online (Sandbox Code Playgroud)
我主要质疑的是Console.out.writeline- 这是对的吗?
提前致谢.:)
所以我试着这样做:
#include <iostream>//For cout/cin
#include <fstream> //For ifstream/ofstream
using namespace std;
int main()
{
string types[] = {"Creativity", "Action", "Service"};
for(int i = 0; i < sizeof(types)/sizeof(string); i++) {
string type = types[i];
string filename = type + ".html";
ofstream newFile(filename);
//newFile << toHTML(getActivities(type));
newFile.close();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
而且我遇到了错误.我是C++的新手,所以我不知道该尝试什么,或者如果这是可能的(SURELY它是......).我试过以下,但它实际上只是在黑暗中刺伤并没有帮助:
#include <iostream>//For cout/cin
#include <fstream> //For ifstream/ofstream
using namespace std;
int main()
{
string types[] = {"Creativity", "Action", "Service"};
for(int i = 0; i < sizeof(types)/sizeof(string); i++) {
string type …Run Code Online (Sandbox Code Playgroud) 我正在学习HTML/CSS/JS/jQuery,因此决定制作一个计算器,看看能否.我已经完成了大部分HTML/CSS设计(好吧,基本的CSS足以使其可用,HTML可能会发生变化),并转移到Javascript上.我首先要做的是当你点击一个数字时,它会将它附加到结果文本的末尾(除非它的0和结果为0).如果你查看jsFiddle链接中的Javascript部分,我已经在这个问题的底部,你可以看到我尝试了什么.我运行JSLint并得到以下错误,但不理解它们:
错误:第4行字符9的问题:预期分配或函数调用,而是看到一个表达式.val text = $(this).text(); 第4行第12个问题:缺少分号.val text = $(this).text(); 隐含的全球:$ 1,2,4,5,6,警报3,val 4,文本4,5,6
编辑:此外,如果有人想建议计算器的HTML的差异方法,请这样做(我认为当前的方法看起来很难看).
编辑2:已经说过 val而不是var .更正我的代码后,结果仍然没有附加单击的数字.这是现在的问题.
编辑3:当我进行编辑时,我发现已经编辑了一个答案来纠正这个问题. 谢谢回答!:)
另外,这是工作的jsFiddle.
我开始写一个词法分析器,我做了以下文件来测试到目前为止所做的一切都运行正常:
Main.cpp的
#include <iostream>
#include "Lexer.h"
#include "Token.h"
int main(void)
{
std::string str(""); // I'll use this to test expressions
Lexer lexer(str);
std::vector<Token> tokens = lexer.lex();
for(auto it = tokens.begin(); it != tokens.end(); ++it)
{
std::string str;
switch(it->type)
{
case TokenType::_EOF:
str = "EOF";
break;
case TokenType::ERROR:
str = "ERROR";
break;
case TokenType::SEMICOLON:
str = "SEMICOLON";
break;
case TokenType::PLUS:
str = "PLUS";
break;
case TokenType::LESS_THAN:
str = "LESS_THAN";
break;
case TokenType::GREATER_THAN:
str = "GREATER_THAN";
break;
case TokenType::INT:
str = "INT"; …Run Code Online (Sandbox Code Playgroud)