func()
{
Object* pNext;
func1(pNext);
}
func1(Object* pNext)
{
pNext = Segement->GetFirstPara(0);
}
Run Code Online (Sandbox Code Playgroud)
我期待它是从func1()返回的firstpara的指针,但我看到NULL可以解释一下,如何修复它实际返回firstpara()指针?
我已经子类化java.awt.Frame
并覆盖了该paint()
方法,因为我希望手动绘制窗口的全部内容。
但是,在图形对象上,(0,0) 对应于标题栏装饰内窗口的左上角,而不是第一个可绘制像素。
我能否以跨平台的方式确定第一个可绘制像素的坐标(即装饰的高度),避免使用 Mac OS X 特定的软糖因子?我是否会被迫嵌套Panel组件以找到窗口的实际可绘制区域?
在这里,我的代码无法在窗口的可绘制区域内将蓝色方块居中:
@Override
public void paint (Graphics g) {
g.setColor(Color.BLUE);
g.setPaintMode();
g.fillRect(30, 30, getWidth()-60, getHeight()-60);
}
Run Code Online (Sandbox Code Playgroud) 我有一组Boost单元测试,我想作为控制台应用程序运行.
当我正在进行项目并运行测试时,我希望能够调试测试,并且我希望在测试运行后让控制台保持打开状态.
我看到如果我在发布模式下运行,程序退出后控制台窗口会保持不变,但在调试模式下,情况并非如此.
我不想添加'system("pause");' 或任何其他黑客,比如在我的节目中读一个角色.我只是想在调试运行测试之后使Visual Studio暂停,就像我在发布模式下运行一样.如果在Visual Studio的一个输出窗口中捕获测试的输出,我也会喜欢它,但这似乎也应该比它应该更难.
我怎样才能做到这一点?
我记得BOOST_MPL_ASSERT
以前曾经是首选.这仍然是真的吗?谁知道为什么?
SO社区向我建议进入一个开源项目,让自己在那里.我想找到一个最好是一个小项目(文件大小/项目大小).我想进入一些小的东西会帮助我进入一些不需要很长时间才能理解并开始贡献的东西.
我尝试过大型开源社区,他们没有办法根据项目规模进行搜索.所以我来问SO是否有任何简单的方法可以找到它们?如果没有,有人可以推荐使用C++或C#的基于Windows操作系统的项目并且很小吗?提前致谢.
我想创建一个ini文件来存储我的应用程序的一些设置.找到jar文件的位置并在那里创建一个ini文件是一个好主意吗?如果是,那我怎样才能找到jar文件的位置?
但如果你知道更好的解决方案,我希望听到其中的一些.
编辑:我正在使用mac,我想在Windows中运行相同的应用程序.我可以在System.getProperty("user.home")目录中写一些东西,但是如果用户决定删除应用程序,我想保持系统清洁.没有更好的方法来存储设置文件,例如与应用程序在同一目录中?
使用Maven构建可执行JAR时,如何指定执行JAR时使用的JVM参数?
我可以使用指定主类<mainClass>
.我怀疑JVM参数有类似的属性.特别需要指定最大内存(例如-Xmx500m).
这是我的程序集插件:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.me.myApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
还有另一个最近的Project Euler问题,但我认为这有点具体(我只对基于PHP的解决方案感兴趣)所以我还是要问.
问题#5的任务是:"从1到20的所有数字均可被整除的最小数字是多少?"
现在,我已经解决了两次.曾经非常低效,而且效率更高,但我仍然远离一个特别复杂的答案(我在数学上并不是特别坚固,因此我的蛮力解决方案).我可以看到几个方面我可以改进这一点,但我想知道你们中是否有人能够证明这个问题更有效的解决方案.
*扰流板:这是我不太理想(运行7秒)但仍然可以容忍的解决方案(不知道如何处理双$ ...只是假装你只看到1 ......
function euler5(){
$x = 20;
for ($y = 1; $y < 20; $y++) {
if (!($x%$y)) {
} else {
$x+=20;
$y = 1;
}
}echo $x;
};
Run Code Online (Sandbox Code Playgroud)