小编Yak*_*kov的帖子

字节数组中的字节数

我有一个阵列byte[] arr;

ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] arr = out.toByteArray();
Run Code Online (Sandbox Code Playgroud)

如何测量arr中的数据大小(如果它被写入磁盘或通过网络传输)?以下方法是正确的 - 他们认为sizeof(byte) = 1B

int byteCount = out.size();
int byteMsgCount = arr.length;
Run Code Online (Sandbox Code Playgroud)

java bytearray sizeof

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

最佳实践 - 应该在哪里定义类的 const 数据

我编写一个定义和使用的类const string (此字符串定义路径或路径的一部分)我应该在哪里定义它:在 cpp 或 h 中?它应该是课程的一部分吗?目前,此数据仅在内部成员函数内部使用。哪个选项更好?

myClass.h
    // const std::string PATH = "Common\\Data\\input.txt" (1)
    class MyClass
    {
      public:
        // const std::string m_path = "Common\\Data\\input.txt" (2)
      private:
        // const std::string m_path = "Common\\Data\\input.txt" (3)
    }
myClass.cpp
// const std::string PATH = "Common\\Data\\input.txt"(4)
Run Code Online (Sandbox Code Playgroud)

c++ constants

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

clang表示C++

我想知道clang使用哪些类来表示C++(而不是C)源信息

我需要内部表示,这在DWARF(http://en.wikipedia.org/wiki/DWARF)中很有用.例如,对于类型,相关信息可以是:此类型的字节大小,字节对齐这种类型等

我已经下载了LLVM + Clang.我查看了http://clang.llvm.org/docs/InternalsManual.html,但没有找到我的答案,所以有人指示我也许我错过了一些东西并告诉我在哪些课程中我必须开始寻找这些数据?

c++ compiler-construction clang dwarf

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

setbuf重定向

我使用 setbuf 来将 stdout 重定向到 char 缓冲区,但是当我只想将新数据写入 stdout 时,它会产生一些副作用

正如下面的代码所解释的:

#define bufSize  100
int main()
{
    char buf[bufSize];
    setbuf(stdout, buf);
    printf("123");             //123 is written to the buffer

    setbuf(stdout,NULL);       //123 is written to the stdout(unwanted side effect)
    printf("456");             //123456 appears in the stdout
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

关于此的其他问题 - 这段代码适用于 unix/linux/mac os 吗?

谁能提出重定向的解决方案?

c redirect buffer stdout

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

十六进制浮点常数

在下面的C程序中,演示了十六进制浮点常量的用法

double d;
d = 2;
 printf("Ex 1: 2 in hex: %a\n\n",d);

 d = 256;
 printf("Ex 2: 2^8 in hex: %a\n\n",d);

 d = 0.015625; //= 2^-6
 printf("Ex 3: 2^-6 in hex: %a\n\n",d);

 d = 0.857421875;
 printf("Ex 4: 0.857421875 in hex: %a\n\n",d);
Run Code Online (Sandbox Code Playgroud)

结果是:

Ex 1: 2 in hex: 0x1p+1

Ex 2: 2^8 in hex: 0x1p+8

Ex 3: 2^-6 in hex: 0x1p-6

Ex 4: 0.857421875 in hex: 0x1.b7p-1
Run Code Online (Sandbox Code Playgroud)

我不明白如何得到前4的结果?

c floating-point printf hex

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

struct array函数参数

我有以下代码声明:

struct coord {
int x;
int y;
}
void rotateFig(struct coord[10][10]);
Run Code Online (Sandbox Code Playgroud)

我需要实施rotateFig.我试着从以下开始:

void rotateFig(struct coord[10][10] c)
{
   //code
}
Run Code Online (Sandbox Code Playgroud)

我不能编译它 - 可能我在函数定义中传递c的方式是不正确的.如何使用给定签名传输c.谢谢

c arrays struct arguments

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

对'sqrt'的未定义引用

我的程序的一部分是计算sqrt浮点数.当我写sqrt(1.0f);成功编译程序时,但是当我编写sqrt(-1.0f); 编译失败时undefined reference to 'sqrt'- 我想在这种情况下nan会返回值...我编译程序uing gcc.当我使用visual studio编译它时,它会成功地编译为sqrt的负参数.如何解决问题谢谢

c nan sqrt

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

签名检查NaN值

计算期间我的程序可以生成nan-nan值.我检查值是否是nan/ -nanusing isnan方法.

我还必须区分纳米值是正还是负(nan-nan).我怎样才能做到这一点?

补充:我需要WIN和Unix/Linux的跨平台解决方案

c unix sign nan visual-studio

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

复制到void*指针

我有一个函数getData(void* data) 应该复制到数据一些内部计算值,例如int r = getRadius(); r应该被复制到数据,并且是从函数getData返回的这种方式,这是正确的方法吗?我尝试过,*(int*)data = r; 但我不确定这是一个最好的解决方案.

c copy void-pointers

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

将unsigned int*'转换为'unsigned int*&

我有一个函数,它得到'unsigned int*&argument我希望在我的代码中传输的参数位于std::vector<unsigned int> data So中,我所做的是:我传输以下参数&data [0]但是得到编译错误:

unsigned int *' to 'unsigned int *&
Run Code Online (Sandbox Code Playgroud)

什么可以解决?谢谢,

c++

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