在版本控制方面,我完全是个菜鸟,但我最近开始使用 GitHub 来托管我的一些项目。我盲目地使用该命令git push origin master将更改推送到两个存储库中的任何一个。我不明白 Git 如何知道要推送到哪个存储库。我使用相同的命令推送到每个。我所在的目录与它有关吗?
谢谢你帮我解决这个问题。
我正在开发一个处理大型浮点数组的应用程序,我非常失望地发现,当我在iPhone 5上运行时,Swift显然比Python慢10倍.我想这不可能是真的,但我会有如果我没有在时间分析器中测试应用程序并认识到它可能不是我的算法或Swift的实现导致问题,我认为这是真的.
当为探查器构建应用程序时,它可以很好地执行:它会在不知不觉中花费很少的时间进行处理.但通常情况下,如果我在Xcode中点击运行按钮(播放符号)进行构建和运行,即使编译器设置为Fastest,也需要将近20秒才能完成.(代码在构建之间保持不变.)它的速度非常慢.
当我在MacBook Pro上的模拟器中构建和运行时,速度相当快,但即便如此,它比在我的小iPhone 5上构建和运行Time Profiler时要慢.
当我将以下测试代码放在AppDelegate的application()函数中时,构建之间的性能差异也存在,因此我认为这不是GUI /线程问题或任何问题.当在Objective-C(在我的设备上的一个单独的应用程序中)和我的Mac上的Python中实现时,相同的测试代码会快速运行.
var nums: [Float] = []
for var i = 0; i < 250000; i++ {
nums.append(Float(i) * 0.001)
}
Run Code Online (Sandbox Code Playgroud)
(除非通过Time Profiler运行,否则大约需要20秒.)
以前有没有经历过这样的事情?如果你能帮我解决这个问题,我会非常高兴.
我以为我在这里做了一些简单的事情,但 C 决定对我进行异步处理。我不确定发生了什么事。这是我的代码:
#include <stdio.h>
int main() {
printf("start");
sleep(5);
printf("stop");
}
Run Code Online (Sandbox Code Playgroud)
当我编译并运行时,我发现它sleep(5)就像一个魅力。但编译器认为跳过第一个printf()并出现乱序是个好主意,因此在运行时,程序会等待 5 秒,然后打印startstop。
这是怎么回事?我的理论是,程序使用 shell 启动打印操作,然后继续执行该程序,让 Bash 等待,直到程序不再忙于实际呈现字符串。但我真的不知道。
谢谢
我用LWJGL做了一个简单的"游戏",让你可以控制一个三角形(这与我的OpenGL知识的大小有关),当你按下空格键时它会拍出较小的三角形.每个射弹在创建时存储在ArrayList中:projectiles.add(new Projectile(x, y));.我可以通过循环访问这些(下面显示的代码),这是否意味着引用仍然存在?
for (int i = 0; i < projectiles.size(); i++) {
projectiles.get(i).shoot();
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在用 Java 开发一个简单的绘画应用程序,但 Swing 不想合作。起初,我尝试制作一个包含DrawArea设置面板的 JTabbedPane,但由于某些奇怪的原因,触发了第二个mouseDragged()(以及扩展的 drawArea.repaint() 方法),JTabbedPane 似乎是重复的。想象一下两个相同的选项卡窗格垂直堆叠。我以为这只是 JTabbedPane 中的一些错误,但我使用面板上的 JButtons 将所有内容重写为一个非常简单的自定义菜单,并且发生了完全相同的事情。GUI 并没有真正复制顶部区域;它无法使用,我可以在上面绘画。一探究竟:

编辑:我发现了类似的问题。如果我调用 super.paintComponent(g),问题就会消失(并且 drawArea.setBackground(color) 实际上有效!),但是调用的函数super(对我来说是一个新关键字)基本上会重新绘制 drawArea,因此不再保存绘制轨迹。
如果我绘制一个矩形来填充绘图区域,即使 mouseDragged 仍然被触发,它也会覆盖问题。这是渲染代码:
@Override
public void mouseDragged(MouseEvent e) {
x = e.getX(); y = e.getY();
drawArea.repaint();
}
// (subclass):
class DrawArea extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.WHITE);
g.fillOval(x-3, y-3, 7, 7);
}
}
Run Code Online (Sandbox Code Playgroud)
这是 GUI 代码:
frame = new JFrame("Jadra");
frame.setSize(650, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
menu = new JPanel();
settingsButton = …Run Code Online (Sandbox Code Playgroud) 我开始用C++编写一个简单的解释器,我将在下面描述一个类结构,但是我放弃并重写了Java中的东西,因为标题让我很难过.这是C++中显然不允许的基本结构:
main.cpp包含main函数,并包含一个我们可以调用printer.h的类的头文件(其single void方法在printer.cpp中实现).现在想象另外两个相同的类.两个人都想打电话Printer::write_something();,所以我在每个都包含了printer.h.所以这是我的第一个问题:为什么我可以#include <iostream>一百万次,甚至一个接一个,但我只能包括我的标题一次?(好吧,我想我可能会对我做同样的事情,只要它在同一个文件中.但我可能是错的.)我理解声明和实现/定义之间的区别,但是代码给了我一个类重新定义错误.我不明白为什么.这就是让我大吃一惊的事情(可能会告诉你为什么我不理解这一点):我不能只在main.cpp的顶部包含printer.h并使用我的其他两个类中的类.我知道我可以在两个类(标题)中的一个中包含printer.h而没有任何问题,但我不明白为什么这与在main.cpp中包含类之前包含它有什么不同(这样做会给出我找不到错误的课程).
当我厌倦了,我想到移动到C,因为我正在使用的OOP是非常强制的,但我会遇到同样的问题,除非我在一个文件中写入所有内容.知道C++但由于编译问题而无法正确使用它是令人沮丧的.
如果你能为我清楚这一点,我将非常感激.谢谢!
编辑:抱歉愚蠢的标题; 通过"指针对象"我想我的意思是解除引用的对象指针(如果这是任何澄清).
我是C++的新手,我一直在努力适应它的特性(来自Java).
我知道这通常不是必需的,但我想尝试通过它的指针传递一个对象.当然,它可以工作,但我也希望这也可以工作:
void test(Dog * d) {
*d.bark();
}
Run Code Online (Sandbox Code Playgroud)
它没有.为什么是这样?我发现我可以做到以下几点:
void test(Dog * d) {
Dog dawg = *d;
dawg.bark();
}
Run Code Online (Sandbox Code Playgroud)
它完美无瑕.这对我来说似乎是多余的.
任何澄清将不胜感激.谢谢!
我决定在听到所有关于它的好东西之后给Ruby一个忙,但到目前为止它只给了我一个艰难的时间.很久以前我在学习Python时创建了一个"搜索引擎",它只是将数据存储在数组中并检查搜索关键字是否在其中,我一直在尝试在Ruby中做同样的事情.
虽然它不像Python那样直观,但我的搜索功能正常运行.但是,我在处理用户输入时遇到了麻烦.我想检查输入是否等于插入,搜索和退出,但它只是不起作用.我真的不知道如何使用获取,所以我假设问题与获取有关.
while true
puts 'What do you want to do?'
choice = $stdin.gets
puts choice # => quit
if choice == 'quit'
break
end
end
Run Code Online (Sandbox Code Playgroud)
该如果语句不工作.我到底做错了什么?为了上帝的缘故,这在C++中是微不足道的!
我真的很感激一些帮助.Ruby对我来说太陌生了......谢谢!
使用C++ <fstream>,复制文本文件非常简单:
#include <fstream>
int main() {
std::ifstream file("file.txt");
std::ofstream new_file("new_file.txt");
std::string contents;
// Store file contents in string:
std::getline(file, contents);
new_file << contents; // Write contents to file
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是当您对可执行文件执行相同操作时,输出可执行文件实际上不起作用.也许std :: string不支持编码?
我希望我可以做类似下面的事情,但文件对象是一个指针,我无法取消引用它(运行以下代码创建new_file.exe实际上只包含某些内存地址):
std::ifstream file("file.exe");
std::ofstream new_file("new_file.exe");
new_file << file;
Run Code Online (Sandbox Code Playgroud)
我想知道如何做到这一点,因为我认为它在LAN文件共享应用程序中是必不可少的.我确信有更高级别的API用于发送带套接字的文件,但我想知道这些API实际上是如何工作的.
我可以逐位提取,存储和写入文件,因此输入和输出文件之间没有差异吗?感谢您的帮助,非常感谢.
显然Java认为我的构造函数代码并不重要,所以当我尝试访问我认为已初始化的ArrayList时,它完全忽略它然后用NullPointerException对我大喊大叫.只有当我向构造函数添加任意参数时,Java才会认为值得关注.
import java.util.ArrayList;
public class DataManager {
ArrayList<Variable> vars;
public DataManager() {
vars = new ArrayList<Variable>();
}
public void createVar(String type, String name, String strValue, int numValue) {
vars.add(new Variable(type, name, strValue, numValue));
}
}
Run Code Online (Sandbox Code Playgroud)
以及调用此代码的代码:
DataManager data = new DataManager();
data.createVar(...);
Run Code Online (Sandbox Code Playgroud)
变量类:
class Variable {
String type;
String name;
String strValue;
int numValue;
public Variable(String type, String name, String strValue, int numValue) {
this.type = type; this.name = name;
this.strValue = strValue;
this.numValue = numValue;
}
}
Run Code Online (Sandbox Code Playgroud)
运行此结果
线程"main"中的异常java.lang.ArrayIndexOutOfBoundsException:在SudoCode.main(SudoCode.java:6)的SudoCode.go(SudoCode.java:10)的Parser.start(Parser.java:25)处出现1 …
c++ ×3
java ×3
arraylist ×1
c ×1
constructor ×1
copy ×1
fstream ×1
gets ×1
git ×1
header ×1
if-statement ×1
input ×1
ios ×1
linker ×1
linux ×1
lwjgl ×1
parameters ×1
performance ×1
pointers ×1
printf ×1
profiler ×1
push ×1
redefinition ×1
reference ×1
ruby ×1
sleep ×1
swift ×1
swing ×1
xcode ×1