小编noM*_*MAD的帖子

c中的char指针

我是C编程的新手,我无法弄清楚为什么会这样.

char *example(char *temp) {
      char *xyz;
      memset(xyz,0,strlen(temp));
      strncpy(xyz,temp,3);
      strcat(xyz,"XX);
      return xyz;
      }

int main() {
      char temp[] = "ABCDEF"
      char *xyz;
      xyz = example(temp);
      printf("Returned string is: %s",xyz);
      return 0;
      }
Run Code Online (Sandbox Code Playgroud)

我只是想知道所有我做错了,因为我试图运行GDB而事实证明,我试图访问的内存有些不可达的一部分,但我无法弄清楚.提前致谢.

c string pointers

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

有人可以在这个8皇后算法中反混淆递归

int placement[] = new int[8];
int placeQueen(int row)
{
   if(row == 8)
   {
      printBoard();
      return;
   }

   for(int i = 0; i<8; i++)
   {
      placement[row] = i;
      if(check(row))
      {
         placeQueen(row + 1);  \\This step
      }
   }
}

boolean check(int row)
{
   for(int i = 0; i<row; i++)
   {
      int diff = Math.abs(placement[row] - placement[i]);
      if(diff == 0 || (diff == row - i))
      {
         return false;
      }
   }
return true;
}
Run Code Online (Sandbox Code Playgroud)

我完全没有得到的是递归在for循环中的工作原理.

algorithm recursion

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

sizeof char**指针是否依赖于机器的体系结构?

当我执行以下代码时:

int main()
{
    char **temp;
    printf("Size of **temp %d", sizeof(**temp));
    printf("Size of *temp %d", sizeof(*temp));
    printf("Size of temp %d", sizeof(temp));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

Size of **temp 1
Size of *temp 8
Size of temp 8
Run Code Online (Sandbox Code Playgroud)

我不明白的是char指针的大小是8多少?机器独立吗?

c pointers sizeof

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

是否可以声明一个对象并在Scala中稍后对其进行初始化

刚刚开始使用Scala进行单元测试,并提出了这个基本问题.

class Test {
  ClassToBeTested testObject;

  @Before
  void initializeConstructor() {
    testObject = new ClassToBeTested(//Blah parameters);
  }

  @Test
  //Blah
}
Run Code Online (Sandbox Code Playgroud)

Java中的上述示例显示我可以声明一个类型的对象ClassToBeTested并在以后初始化它.这可以在Scala中完成吗?我尝试过这个

class Test {
  var testObject = new ClassToBeTested()

  @Before def initializeConstructor() {
    //I do not know how to proceed here!!!!!!
  }

  @Test def testOne() {
    //Some test
  }
}
Run Code Online (Sandbox Code Playgroud)

我不想在里面做所有事情,testOne()因为我想在不同的测试中使用该对象.构造函数的参数是模拟,JUnit我知道如果我全局初始化一个对象而不是内部,则不会初始化模拟@Before.

scala

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

具有私有构造的类在类外实例化

我在网上发现了这个代码,这个人在实例化一个在类外有私有构造函数的类.我无法理解它是如何工作的,因为从我之前读过的,你在类中使用私有构造函数,以便它不能在类之外实例化.

public final class A extends B {
  private A(Something, Something)
  {
    //Something
  }

  public void someMethods()
  {
    //Something
  }
}

public final class B {
  private A a;
  public void someMethod()
  {
    final ObjectInputStream objectInputStream = new ObjectInputStream(
                            new ByteArrayInputStream(buffer.toByteArray()));
    a = (A) objectInputStream.readObject();
    objectInputStream.close();

    a.someMethods();
  }
} 
Run Code Online (Sandbox Code Playgroud)

我只想了解这里到底发生了什么?我试着阅读ObjectInputStream但却无法得到任何东西.

java

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

当你不保存循环内的对象并内联它们时,它在内存上更优化吗?

这是我想弄清楚的.

Case 1:
for(Foo foo : listOfFoos) {
  Bar bar = foo.getBar();
  if(bar == something) {
    //Do something else
    continue;
  }
}

Case 2:
for(Foo foo : listOfFoos) {
  if(foo.getBar() == something) {
    //Do something else
    continue;
  }
}
Run Code Online (Sandbox Code Playgroud)

如果这list包含五百万Foo's,那么第二种情况在速度或记忆方面是否会优于第一种情况?

java

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

如何在每次修改旧对象时返回一个新对象?

一些代码:

public class Person {

  private Person(Builder builder) {
    //construct the person object
  }

  public static class Builder {
    public Builder withName(String name) {
      this.name = name;
      return this;
    }
    public Builder withAge(int age) {
      this.age = age;
      return this;
    }
    public Builder withPhone(int phone) {
      this.phone = phone;
      return this;
    }

    //How to add this method?
    public Builder withPerson(Person person) {
      this.person = person;
      return this;
    }

    public Person build() {
      return new Person(this);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

所以基本上我有一个对象,在这个案例中有一个人有一个建设者.现在说我最初只使用a name …

java

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

在python中以更干净的方式创建具有变量属性的对象

我是python的新手,我不得不创建一个只有某些属性的对象None.例:

if self.obj_one is None and self.obj_two is None:
    return MyObj(name=name)
elif self.obj_one is not None and self.obj_two is None:
    return MyObj(name=name, obj_one=self.obj_one)
elif self.obj_one is None and self.obj_two is not None:
    return MyObj(name=name, obj_two=self.obj_two)
else:
    return MyObj(name=name, obj_one=self.obj_one, obj_two=self.obj_two)
Run Code Online (Sandbox Code Playgroud)

来自Java的土地,我知道python充满了短手,所以想知道是否有更清晰的方式来编写上述内容?当然,我的实际对象有更多的属性.我尝试搜索但找不到任何有用的东西,所以如果有可能或不存在,如果有超过2个变量属性则不会缩放.

python

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

是否可以从ImmutableMultimap.keys()中删除方括号

执行以下操作时:

ImmutableMultimap<Something, Something> map;
//Say I insert "Hello", "5" to the map
System.out.println(map.keys().toString());
Run Code Online (Sandbox Code Playgroud)

[Hello]当我这样做时,打印出来

if(map.keys().toString().equals("Hello"))
Run Code Online (Sandbox Code Playgroud)

它总是失败.我不想这样做

if(map.keys().toString.equals("[Hello]")
Run Code Online (Sandbox Code Playgroud)

有没有方法显示没有方括号的结果?

java guava

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

在HBase中实现与checkAndPut一起批处理的任何方法

我正致力于写HBase集群.我只有在数据不存在时才写,因此我使用了checkAndPut().但与之相比,表现较差put(List<Put>).有什么方法可以将这两个操作结合起来吗?我试着环顾四周但找不到任何东西.

hbase

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

标签 统计

java ×4

c ×2

pointers ×2

algorithm ×1

guava ×1

hbase ×1

python ×1

recursion ×1

scala ×1

sizeof ×1

string ×1