这是我的尝试,它只是我的代码片段:
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) 我刚刚在维基百科上找到了这段代码.
链接: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前缀应该用于打印它,因为每个架构的实际大小可能不同."
我在我的编译器上尝试过,但它给出了以下结果:
"祖,祖"
我一直在玩引用(我在这方面仍有问题).
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)
这是正确/足够吗?
这个问题在我脑海里浮现了很多次.
让我通过一个例子解释我的问题.
说我有两个类:1-网格.2-细胞.
现在,单元格的位置"应该"存储在网格类中,而不是存储在单元类本身中.假设单元格想要通过网格中的方法获取其位置.
它怎么能这样做?请记住,单元格是由Grid类创建/初始化的.
有什么好的OO方法来解决这个问题?
谢谢
举个例子:
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++.
这是我的代码:
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!
1-这是如何工作的:
char *ptr = "hi";
Run Code Online (Sandbox Code Playgroud)
现在编译器会把这个字符串放在内存中(我在猜测堆栈),并创建一个指向它的指针?这是它的工作原理吗?
2-如果它是在函数中本地创建的,当函数返回时,字符串占用的内存是否会被释放?
3-最后但并非最不重要的,为什么不允许这样做ptr[0] = 'H';?
之间有什么区别:
String x = getString();
doSomething(x);
Run Code Online (Sandbox Code Playgroud)
与
doSomething(getString());
Run Code Online (Sandbox Code Playgroud)
资源和性能明智,特别是它在一个循环中完成了数十,数百或数千次?
我正在玩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) 我正在尝试为多维数组(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.
是否有针对此类主题的推荐参考/读物?
谢谢.
我遇到了一个意外的问题(或者这是预期的行为?)。以下代码未编译,并给出错误:
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)