小编Tux*_*Tux的帖子

当一个对象超出范围时,是否会调用析构函数?

例如:

int main() {
    Foo *leedle = new Foo();

    return 0;
}

class Foo {
private:
    somePointer* bar;

public:
    Foo();
    ~Foo();
};

Foo::~Foo() {
    delete bar;
}
Run Code Online (Sandbox Code Playgroud)

析构函数会被编译器隐式调用还是会出现内存泄漏?

我是动态内存的新手,所以如果这不是一个可用的测试用例,我很抱歉.

c++ destructor dynamic-memory-allocation

37
推荐指数
2
解决办法
4万
查看次数

javax.*无法在我的Android应用中导入?

我正在尝试javax.*在我的Android应用程序中导入一些类,但我一直在Android Studio中遇到编译器错误.我正在使用Ubuntu Linux 13.04.

这是我的进口:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
// Here are the imports I am having trouble with:
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.SourceDataLine;
Run Code Online (Sandbox Code Playgroud)

当我尝试运行应用程序甚至编译活动java文件时,我收到以下错误:

Gradle: error: package javax.sound.sampled does not exist
Gradle: error: package javax.sound.sampled does not exist
Gradle: error: package javax.sound.sampled does not exist
Run Code Online (Sandbox Code Playgroud)

我只是无法弄清楚这个问题.任何帮助都是极好的!

java android gradle javax.sound.sampled

29
推荐指数
3
解决办法
4万
查看次数

使用'this'关键字会影响Java性能吗?

使用this关键字是否会影响Java性能?

在这个例子中:

class Prog {
  private int foo;

  Prog(int foo) {
    this.foo = foo;
  }
}
Run Code Online (Sandbox Code Playgroud)

在以下情况下是否存在性能开销?:

class Prog {
  private int foo;

  Prog(int bar) {
    foo = bar;
  }
}
Run Code Online (Sandbox Code Playgroud)

今天早些时候我和几个同事正在讨论这个问题,没有人能拿出我们都同意的答案.任何明确的答案?

java performance openjdk java-7

8
推荐指数
1
解决办法
758
查看次数

如何修复"之前的预期主表达式"'令牌'错误?

这是我的代码.我一直收到这个错误:

错误:')'令牌之前的预期primary-expression

任何人有任何想法如何解决这个问题?

void showInventory(player& obj) {   // By Johnny :D
for(int i = 0; i < 20; i++) {
    std::cout << "\nINVENTORY:\n" + obj.getItem(i);
    i++;
    std::cout << "\t\t\t" + obj.getItem(i) + "\n";
    i++;
}
}

std::string toDo() //BY KEATON
{
std::string commands[5] =   // This is the valid list of commands.
    {"help", "inv"};

std::string ans;
std::cout << "\nWhat do you wish to do?\n>> ";
std::cin >> ans;

if(ans == commands[0]) {
    helpMenu();
    return NULL;
}
else if(ans == commands[1]) …
Run Code Online (Sandbox Code Playgroud)

c++ token

6
推荐指数
1
解决办法
9万
查看次数

如何正确编写程序版本?

我总是看到程序说出类似的Version: 1.5.6东西.我的问题是,如何正确确定版本?

我是一名C++程序员,所以我认为这很重要.我也使用Visual Studio Ultimate 2012.

编辑:如何在代码中添加版本?

c++ winapi version visual-c++ visual-studio-2012

6
推荐指数
1
解决办法
140
查看次数

<ctime>的替代方案

我正在寻找该<ctime>库的C++ 11版本.C++ 11中包含这样的内容吗?

编辑:任何具有更多功能的东西都是完美的!

编辑2:我希望在我正在制作的游戏中使用它,这样我就可以跟踪总的播放时间.任何可以帮助我的东西都是我正在寻找的东西.

c++ visual-c++ c++11

5
推荐指数
2
解决办法
4128
查看次数

在Java中,substring(int k,int y)或substring(int k)是否更有效?

例如,假设我有以下代码:

String s1 = "foobar";
s1 = s1.substring(3);
Run Code Online (Sandbox Code Playgroud)

该代码的效率是否低于:

String s1 = "foobar";
s1 = s1.substring(3, 6);
Run Code Online (Sandbox Code Playgroud)

我认为两个参数方法在性能方面会更有效,因为单个参数方法使用循环来遍历索引,直到达到长度.这意味着JVM必须调用该length()方法以找出何时停止循环.

但是这两个参数方法只循环直到达到最后一个索引号.

任何人都可以证实或否认我的假设吗?

编辑:我真的不明白源代码中的这个代码(last return语句),但这里是java String类源:

public String substring(int beginIndex, int endIndex) {
    if (beginIndex < 0) {
        throw new StringIndexOutOfBoundsException(beginIndex);
     }
     if (endIndex > count) {
        throw new StringIndexOutOfBoundsException(endIndex);
     }
    if (beginIndex > endIndex) {
    }
    return ((beginIndex == 0) && (endIndex == count)) ? this :    // I don't understand this part
         new String(offset + beginIndex, endIndex - beginIndex, …
Run Code Online (Sandbox Code Playgroud)

java string performance jvm substring

1
推荐指数
1
解决办法
881
查看次数

结合rand()和srand()以获得更好的性能

所以,我正在制作一个我希望有一个函数来生成随机数的DLL.我想知道哪些选项更有效(性能明智).

这个只是在DLL中创建一个函数,允许我得到一个随机数.

int getRand(unsigned int seed) {
    int rNum;  // Random Number.

    srand(seed);
    rNum = (rand() % // Whatever I need here.
}
Run Code Online (Sandbox Code Playgroud)

或者,只是使用srand(time(nullptr))rand()在应用程序中性能更好?

谢谢,

约翰尼P.

c++ random dll performance visual-c++

0
推荐指数
1
解决办法
1281
查看次数