小编m4d*_*ign的帖子

使用纬度经度计算两点之间的距离?

这是我的尝试,它只是我的代码片段:

final double RADIUS = 6371.01;
double temp = Math.cos(Math.toRadians(latA))
            * Math.cos(Math.toRadians(latB))
            * Math.cos(Math.toRadians((latB) - (latA)))
            + Math.sin(Math.toRadians(latA))
            * Math.sin(Math.toRadians(latB));
    return temp * RADIUS * Math.PI / 180;
Run Code Online (Sandbox Code Playgroud)

我使用这个公式来获得经度和经度:

x = Deg + (Min + Sec / 60) / 60)
Run Code Online (Sandbox Code Playgroud)

java math latitude-longitude

81
推荐指数
6
解决办法
14万
查看次数

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

这是一个正确的语法(在维基百科上找到的c代码)?

我刚刚在维基百科上找到了这段代码.
链接:http://en.wikipedia.org/wiki/Sizeof#Use

代码:

/* the following code illustrates the use of sizeof 
 * with variables and expressions (no parentheses needed),
 * and with type names (parentheses needed)
 */

char c;

printf("%zu,%zu", sizeof c, sizeof(int));
Run Code Online (Sandbox Code Playgroud)

它声明:"z前缀应该用于打印它,因为每个架构的实际大小可能不同."

我在我的编译器上尝试过,但它给出了以下结果:

"祖,祖"

c printf sizeof

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

我在这里做错了什么(在C++中引用)?

我一直在玩引用(我在这方面仍有问题).

1-我想知道这是否是可接受的代码:

int & foo(int &y)
{
    return y;  // is this wrong?
}

int main()
{
    int x = 0;    
    cout << foo(x) << endl;

    foo(x) = 9;   // is this wrong?
    cout << x << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

2-这也来自考试样本:

Week & Week::highestSalesWeek(Week aYear[52])
{
  Week max = aYear[0];
  for(int i = 1; i < 52; i++)
  {
    if (aYear[i].getSales() > max.getSales())
      max = aYear[i];
  }
  return max;
}
Run Code Online (Sandbox Code Playgroud)

它询问此代码中的错误,以及如何修复它.

我的猜测是它返回一个本地引用.修复是:

Week & max = aYear[0];
Run Code Online (Sandbox Code Playgroud)

这是正确/足够吗?

c++ reference

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

简单的与OOP相关的问题

这个问题在我脑海里浮现了很多次.

让我通过一个例子解释我的问题.

说我有两个类:1-网格.2-细胞.

现在,单元格的位置"应该"存储在网格类中,而不是存储在单元类本身中.假设单元格想要通过网格中的方法获取其位置.

它怎么能这样做?请记住,单元格是由Grid类创建/初始化的.

有什么好的OO方法来解决这个问题?

谢谢

c++ oop class

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

是否可以返回本地初始化的数组,如果没有我怎么办?

举个例子:

public class foo
{
    public int[] func()
    {
        int arr[] = new int[3];
        // here initialised the array

        return arr;
    }
}
Run Code Online (Sandbox Code Playgroud)

我对Java没有经验,但我知道一些C/C++.

java arrays

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

为什么编译器认为这个变量不是常数?

这是我的代码:

int main()
{
 const int LEN = 5;
 int x[LEN];
}
Run Code Online (Sandbox Code Playgroud)

VS10说:

错误C2057:预期的常量表达式

错误C2466:无法分配常量大小为0的数组

错误C2133:'x':未知大小

我甚至尝试了这个页面中的代码并且它给出了同样的问题(我评论了给出错误的代码,并且取消注释了正确的代码):http: //msdn.microsoft.com/en-us/library/eff825eh% 28VS.71%29.aspx

如果我正在尝试一个糟糕的编译器,我会认为这是编译器中的一个错误,但它是VS2010!

c c++ compiler-construction compiler-errors

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

关于char指针的一些问题

1-这是如何工作的:

char *ptr = "hi";
Run Code Online (Sandbox Code Playgroud)

现在编译器会把这个字符串放在内存中(我在猜测堆栈),并创建一个指向它的指针?这是它的工作原理吗?

2-如果它是在函数中本地创建的,当函数返回时,字符串占用的内存是否会被释放?

3-最后但并非最不重要的,为什么不允许这样做ptr[0] = 'H';

c pointers char

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

这些陈述之间有什么区别吗?

之间有什么区别:

String x = getString();
doSomething(x);
Run Code Online (Sandbox Code Playgroud)

doSomething(getString());
Run Code Online (Sandbox Code Playgroud)

资源和性能明智,特别是它在一个循环中完成了数十,数百或数千次?

java memory performance resources method-call

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

如何测试FILE*(指向结构的指针)(如果== NULL)?

我正在玩C,无论如何我在想如何将文件指针(指向结构类型),如果为NULL则测试即时:

FILE *cfPtr;
if ( ( cfPtr = fopen( "file.dat", "w" ) ) == NULL )
Run Code Online (Sandbox Code Playgroud)

我试图自己做,但发生错误.

struct foo{
    int x;
};

struct foo bar = {0};

if (bar == NULL)
    puts("Yay\n");
else
    puts("Nay");
Run Code Online (Sandbox Code Playgroud)

错误C2088:'==':结构非法

这是stdio.h文件中的FILE减速:

struct _iobuf {
        char *_ptr;
        int   _cnt;
        char *_base;
        int   _flag;
        int   _file;
        int   _charbuf;
        int   _bufsiz;
        char *_tmpfname;
        };
typedef struct _iobuf FILE;
Run Code Online (Sandbox Code Playgroud)

c struct pointers

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

另一个动态内存分配错误

我正在尝试为多维数组(8行,3列)分配内存.

这是分配的代码(我确定错误很清楚)

char **ptr = (char **) malloc( sizeof(char) * 8);

for (i = 0; i < 3; i++)
    ptr[i] = (char *) malloc( sizeof(char) * 3);
Run Code Online (Sandbox Code Playgroud)

当我引用这个崩溃时发生崩溃:

ptr[3][0];
Run Code Online (Sandbox Code Playgroud)

xxxx.exe中0x0135144d处的未处理异常:0xC0000005:访问冲突写入位置0xabababab.

是否有针对此类主题的推荐参考/读物?

谢谢.

c malloc pointers dynamic-memory-allocation

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

为什么这个不能编译?无法从“X”转换?到“X”

我遇到了一个意外的问题(或者这是预期的行为?)。以下代码未编译,并给出错误:

CS1503 Argument 1: cannot convert from 'long?' to 'long'

public static void Add(long? ticks)
{
    if (ticks != null)
    {
        new DateTime(ticks);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# nullable

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