我是c++的新手,现在接触到了constexpr。如我所知,constexpr函数是在编译时评估的。这是我的源代码:
constexpr int sum(float a, int b)
{
return a + b;
};
int main(int argc, char *argv[])
{
std::cout << sum(1, 2) << std::endl;
}
它是一个简单的函数,它只是与整数相加。问题是,当我在return a + b上设置断点并开始调试时,会命中断点,这意味着该函数在编译时没有得到评估。但当我将主要功能改为:
int mai
我有一个类模板,模板参数的默认值是:
template<typename T = int>
class DefaultType : private std::array<T, 5> { };
因为c++17,所以可以像普通类一样实例化
DefaultType obj; // equivalent to `DefaultType<>`
如果我将此类型用作另一个模板的参数,则无法执行相同的操作:
// error: type/value mismatch at argument 1 in template parameter list for ...
class
我是C++的新手,当我检查别人的代码时,我遇到了一个我不理解的表达式。
在头文件中,我有一个普通的类定义:
//in data.hpp
class DATA_C : public QThread
{
Q_OBJECT
// the rest of class definition...
}
源文件的一个片段:
//in data.cpp
class DATA_C data_container;
我可以理解"class“,这是一个声明;但是什么是"DATA_C DATA_C data_container”呢?是干什么的呢?
提前谢谢。
我如何翻译这段Java代码:
private List<MPoint> classes = new ArrayList<MPoint>(); // MPoint is my own class
对C#?final关键字在Java中是什么意思?在C#中有什么类似的东西呢?我是C#和Java的新手,我需要帮助:)
我试图允许一个函数使用evalin函数访问基本工作区,但我遇到了问题。下面是一个简单的例子:
我的主要代码:
A = 1;
B = 2
evalin('base','[ C ] = FUN(B)');
C
我的职能:
function [C ] = FUN( B )
C = A + B;
end
我的错误:
Undefined function or variable 'A'.
Error in FUN (line 4)
C = A + B;
Error in Test (line 4)
evalin('base
下面是3.3.7/5中的例子:
typedef int c;
enum { i = 1 };
class X
{
char v[i]; // error: i refers to ::i
// but when reevaluated is X::i
int f() { return sizeof(c); } // OK: X::c
char c;
enum { i = 2 };
};
但它甚至不编译。造成下列错误:
test.cpp:9:12:错误:“i”-fpermissive的声明
test.cpp:4:8:错误:从“i”
我对c#非常陌生,我正在编写一本教科书。教科书展示了这段代码:
public class BankAccount
{
// Bank accounts start at 1000 and increase sequentially.
public static int _nextAccountNumber = 1000;
// Maintain the account number and balance for each object.
public int _accountNumber;
public decimal _balance;
//
我对面向对象编程是个新手。我通过一些代码来学习一些面向对象的编程。游戏从头开始C++有一个叫做“胖”的游戏的一些代码,可以帮助你学习OOP的概念。在下面的代码中,我可以看到sf::RenderWindow类中创建了一个对象,并且这个对象在另一个类中被定义为静态对象。我对这里发生的事情感到困惑,有没有可能做这样的事情。如果对SFML非常熟悉的人能回答这个问题,我将不胜感激。还有,科幻是什么?在这里代表什么? #pragma once
#include "SFML/Window.hpp"
#include "SFML/Graphics.hpp"
class Gam
我正在通过达夫尼在线教程()。在练习之后,它提到函数只能出现在注释中。因此,一个人不能写:
var v := abs(3);
本教程还提到,有时在实代码中使用函数很方便,因此可以定义函数方法,它可以从实代码中调用。
因此,在练习5中,这就是我所写的:
function max(a: int, b: int): int
{
if a < b then b else a
}
method Testing() {
var a := 3;
var b := 4;
var c := max(a,b); //seems like Dafny accept this pr
我只是浏览了一下gcc源文件。在gcc.c中,我发现了类似这样的东西
extern int main (int, char **);
int
main (int argc, char **argv)
{
现在我怀疑extern是不是要告诉编译器,特定的函数不在这个文件中,而是会在项目的其他地方找到。但是在这里,main的定义紧跟在extern声明之后。那么extern声明服务的目的是什么呢?
在这个特定的例子中,extern的行为看起来就像我们在汇编中使用的export一样,我们将一个特定的符号导出到模块之外
有什么想法吗?