如果我有一个执行某些过程的函数然后需要返回某事的真值,那么使用布尔变量或int变量作为返回类型是否有令人信服的理由?
bool Foo()
{
...
...
return truthValue;
}
int Foo()
{
...
...
return truthValue;
}
Run Code Online (Sandbox Code Playgroud)
这两个功能之间有明显的区别吗?这两者有哪些潜在的缺陷和优势?
谢谢,
NMR
我知道当我在C#中使用DateTime.Now.Ticks时它会返回一个long值,但是我需要将它存储在一个int变量中,我对是否能保持这种精度感到困惑.截至目前我只是一个演员
int timeStampValue = (int)DateTime.Now.Ticks;
Run Code Online (Sandbox Code Playgroud)
这是一个项目约束,所以我知道有大量的精度损失.我想我只是想不出另一种方法来存储一个存储在int中的时间戳,然后我可以将其与其他时间戳进行比较.
如果可能的话,任何关于如何保持精度的建议或建议将非常感激.
每个人的答案都是说明性的.我实际上最终只设置了一个涉及计数器的过程,当使用一个项目时,它的计数器设置为'0',所有其他计数器增加1.然后,最高计数器是下一个要使用的项目.
LISP或Jess之类的东西是最好的选择吗?我有兴趣编写一个基于用户答案提出建议的程序.计算方面的考虑并不是一个真正的因素,它几乎就是模式匹配引擎.此外,我想为此制作一个应用程序并将其放在网上.
更新:我想把它放在博客或网站上,让人们从那里使用它.我想我的问题是,是否有一个特定的推理引擎可以与.NET系列或PHP一起使用,或者那种效果?每种选择等的优缺点有哪些?
我需要有关指针和内存管理的帮助.
我需要存储不同的对象,所有对象都派生自相同的基类,并且一直使用数组来执行此操作,但是当使用不同的对象填充数组时,它会导致分段错误.
当数组中充满了相同派生类型的对象时,我的程序工作正常.当数组填充不同的对象时,它应该通过存储在第一个位置的对象,但是当它切换到输出第二个对象时,它会给我分段错误.我知道这是一个内存访问问题,但我不清楚我应该如何管理依赖于用户输入的可变数量的对象.
thx,nmr
由于教授的坚持,我已经习惯在C++代码中通过C使用size_t,我很好奇C#中的'var'是否同样如此?
标题非常自我解释.
char c = std::cin.peek(); // sets c equal to character in stream
Run Code Online (Sandbox Code Playgroud)
我刚刚意识到,也许原生类型的char不能保持EOF.
谢谢,核磁共振
我试图输出共享基类的一组对象共有的函数,我遇到了一些困难.当对象被实例化时,它们存储在一个数组中,然后我尝试使用以下代码来执行此循环中所有对象的共同功能:
if ( truck <= v ) // all types of trucks
Run Code Online (Sandbox Code Playgroud)
vptr是一个对象数组,循环中的函数对所有对象都是通用的.代码编译得很好但是当我运行它时,它进入这个循环时会出现分段错误.我相信在这个循环中对第一个函数的调用是导致问题的原因.
这就是我在前一个循环中实例化对象的方法:
vptr[ i ] = new Vehicle( sn, pc );
Run Code Online (Sandbox Code Playgroud)
我还要提一下,对不起,我忘了从一开始就清楚,在这个数组中,每个对象都是不同的类.它们都共享一个基类,但它们是该类的派生对象.很抱歉忘记了可能很重要的信息.
谢谢nmr
我在链表类中定义了以下函数.头文件中的声明如下所示:
template <typename T>
class RingBuffer
{
...//stuff
static BLink * NewLink (const T&); // allocator
};
Run Code Online (Sandbox Code Playgroud)
BLink是RingBuffer类中的"链接"类.以下实现代码:
template <typename T>
RingBuffer<T>::BLink * RingBuffer<T>::NewLink( const T& t ) // this is line 114
{
// create a new link in linked list
....
....
}
Run Code Online (Sandbox Code Playgroud)
给我这个编译错误:
./ringbuff.cpp:114:错误:在'令牌之前的预期构造函数,析构函数或类型转换
我很难过为什么它在返回值之前需要一个预期的构造函数,析构函数或类型转换.
我只是试图在C中连接两个字符串,我不知道为什么,但我得到段错误.我使用gdb跟踪它到下面代码行的第一行.
strcat(tempString, "uptime");
pFile = fopen (tempString,"r");
Run Code Online (Sandbox Code Playgroud)
tempString ="/ proc /".我只想将字符串"uptime"附加到tempString,然后尝试打开文件(如果它存在于/ proc文件夹中).当strcat()调用memcpy()时,就会发生实际的段错误.