标签: constants

如何以十六进制,十进制和八进制打印在C中形成一个常量

我有一些问题解决了我的一项任务.我在网上搜索过文档,但我找不到简明的答案.

我必须以十六进制,十进制和八进制形式打印常量eg123456789.

我知道0x是十六进制,0是十进制,没有八进制.但我没有想法如何打印它.我使用#define方法来定义我的常量

    #include <stdio.h>
#include <stdlib.h>
#define CONST 123456789
int main()
{
 printf("%d",0xCONST);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

c constants

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

使用eval()检查是否设置了常量

我试图基于传递变量的单个部分来检查已定义的变量.(变量的其余部分是静态的,并且它的所有其他部分都是相同的),所以我做了一个测试,以确定这是否可行.

它不起作用,但也许我正在做一些容易修复的小事.

define('TEST', 'works');
$test = 't';

echo TES . strtoupper($test);
echo eval('TES . strtoupper('.$test.');');
echo eval('TES . strtoupper(\'$test\');');

echo eval('TES' . strtoupper($test) . ';');
Run Code Online (Sandbox Code Playgroud)

php eval constants

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

如何在构造时在 C++ 类中设置 const 成员变量?

那么这个问题可能与这些问题有相当多的重叠:

如何在类中初始化const成员变量
C++11中
的const成员变量在对象构造后初始化const成员变量

然而,这些都不能回答我最初的问题。主要区别在于我不想使用设置值而是使用构造函数参数进行初始化。

我想做的是这样的——

class myRectangle {
private:
   const int length;  //const mainly for "read-only" like
   const int breadth;  //protection
public:
   myRectangle(int init_length, int init_breadth);
   int calcArea(void);
   void turn90Degrees(void);
  /* and so on*/
Run Code Online (Sandbox Code Playgroud)

}

其中长度和宽度都是只读的,在构造后不会改变它们。
但当然,我的编译器不会允许我将它们设置在构造函数中,因为它们实际上是const的......
我没有拿出解决办法只是让他们变和只实现getter方法,使他们不能有效地改变,但我几乎感觉我在这里错过了明显的解决方案。

另外我觉得我在某种程度上误解了 const 的使用。那么,从那时起不更改数据是否“已经”成为编译时合同?因为在我的理解中,不知道常量在程序执行过程中占用的大小是否足够信息?

顺便说一句,使恒定静态的解决方案不适合我,因为我生成的每个矩形都应该有不同的大小。

感谢您的回答和澄清!

解决方案:初始化列表/委托构造函数

来自 Jason R 的解决方案的 MSDN 条目

c++ constructor class constants member

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

我应该何时使用CUDA的内置warpSize,而不是我自己的常量?

nvcc设备代码可以访问内置值,warpSize该值设置为执行内核的设备的warp大小(即在可预见的将来为32).通常你不能把它区分为常数 - 但是如果你试图声明一个长度为warpSize的数组,你就会抱怨它是非常量的...(使用CUDA 7.5)

所以,至少为了这个目的,你有动力去做(编辑):

enum : unsigned int { warp_size  = 32 };
Run Code Online (Sandbox Code Playgroud)

在你的标题中的某个地方.但是现在 - 我应该选择哪个,何时?:warpSize,或warp_size

编辑: warpSize显然是PTX中的编译时常量.问题仍然存在.

c++ cuda constants gpu-warp

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

接口常量与类常量变量

我想知道最有可能使用什么,是interface Constants还是class Constants

我有一个interface类似这样的代码:

public interface IConstantsVariableSupport {
     public String URL = "www.sample-me.com";
     public Integer LIMIT = 50;
}
Run Code Online (Sandbox Code Playgroud)

interface将支持所有class需要其属性常量的内容。我认为我可以在其中class包含常量的情况下做到这一点,如下所示:

public class ConstantsVariableSupport {
     public final static String URL = "www.sample-me.com";
     public final static Integer LIMIT = 50;
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,当我用他们所拥有的支持其他类时,我会考虑什么方法constants。它是使用interface还是a class?或者,如果可能的话,您能否建议一种最佳实践来处理常量值,以便于在整个程序中使用。仅供参考,我知道如何使用这两种方法,我只是想知道如何正确执行。

java interface class constants

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

Swift:在初始化之前使用的常量''

我正试图通过该函数将数据传递给我的第二个VC上的标签func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView).

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {

    print("Annotation selected")


    if let annotation = view.annotation as? POIAnnotations {

       let destVC : ShopDetailViewController

        destVC.shopName.text = annotation.title!

        print("Your annotation title is: \(annotation.title!)")

    }

}
Run Code Online (Sandbox Code Playgroud)

当我设置shopName.textannotation.title,我得到一个错误说明:

在初始化之前使用常量'destVC'.

我不太清楚出了什么问题.

constants swift swift3

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

带有"use constant"的Perl Path :: Class :: file给出了祝福的ref,而不是string - 为什么?

在Ubuntu 14.04 LTS上运行Perl 5.18,我想创建一些路径名常量,所以我做了

use Path::Class;
use constant FILEPATH => file('directory', 'filename');
Run Code Online (Sandbox Code Playgroud)

但是,当我在哈希聚合中使用常量时......

my $hash = { filepath => FILEPATH };
use Data::Dumper;
print Dumper $href;
Run Code Online (Sandbox Code Playgroud)

...我惊讶地发现filepath密钥的值是一个有福的引用,而不是我期望的函数调用的字符串结果.

我可以解决这个问题...

use constant FILEPATH => file('directory', 'filename') . "";
Run Code Online (Sandbox Code Playgroud)

...迫使Perl解释器评估祝福的参考,但是

(a)有更好的方法,(b)到底发生了什么?!

我知道use constant在列表上下文中进行评估,但通常use constant MYCONST => mysub(arg1, arg2);做正确的事情,评估子例程调用并使用返回值.什么是聪明Path::Class::file才能打破这种期望?

perl constants

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

在声明之前使用的“Bar”类

我有一个名为的类Bar

class Bar {
  private readonly foo: string;
  constructor() {
    this.foo = "foo";
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的主文件中,我试图像这样使用它:

const bar: Bar = new Bar();
Run Code Online (Sandbox Code Playgroud)

但是这一行给了我错误:

在声明之前使用的类“Bar”。

我可以将它var设为a并在函数内声明它,但我正在寻找一个更好的解决方案,它允许我将它声明bar为一个常量。

问题是 Typescript 将项目编译成单个 Javascript 文件,该文件在尝试使用后声明了该类。

尽管@Fenton的解决方案工作正常。还有另一种:

在里面tsconfig.json你可以输入:

"files": [
    "libs/Bar.ts",
],
"include": [
    "**/*"
]
Run Code Online (Sandbox Code Playgroud)

这将告诉 Typescriptlibs/Bar.ts在其他之前编译。

javascript class constants function typescript

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

Go中任意精度常数的目的是什么?

Go具有任意大小和精度的无类型精确数字常量。该规范要求所有编译器支持至少256位的整数,并且至少浮动272位(尾数为256位,指数为16位)。因此,要求编译器忠实准确地表示如下表达式:

const (
    PI       = 3.1415926535897932384626433832795028841971
    Prime256 = 84028154888444252871881479176271707868370175636848156449781508641811196133203
)
Run Code Online (Sandbox Code Playgroud)

这很有趣......,但我无法找到任何方式实际使用任何这种持续超过64位的具体类型的最大精度int64uint64float64complex128(这只是一对float64值)。即使是标准库中的大数字类型 big.Intbig.Float也无法从大数字常量中进行初始化-必须从字符串常量或其他表达式中反序列化它们。

基本机制很明显:这些常量仅在编译时存在,并且必须强制为某个可在运行时表示的值才能在运行时使用。它们是仅在代码中和编译期间存在的语言构造。您无法在运行时检索常量的原始值;它不存储在已编译程序本身的某个地址中。

因此问题仍然存在:为什么在实践中无法使用巨大的常量时,语言为什么要这么点呢?

constants go

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

非标准语法问题

我正在尝试学习 C++,当我尝试运行我正在创建的这个简单程序时,出现以下错误。

Error   C3867   'budget::check_mort': non-standard syntax; use '&' to create a pointer to member
Error   C3867   'budget::check_car': non-standard syntax; use '&' to create a pointer to member
Error   C3867   'budget::check_groc': non-standard syntax; use '&' to create a pointer to member
Error   C3867   'budget::check_util': non-standard syntax; use '&' to create a pointer to member
Run Code Online (Sandbox Code Playgroud)

我不太确定从这里该去哪里。搜索问题似乎表明需要将某些东西设为静态或常量,但我不太确定。任何帮助将非常感激。

使用 Visual Studio 社区和 Windows 10 文件如下:

.h 文件

#pragma once
#include <iostream>
#include <string>
#include <ostream>
#include <list>
#include <algorithm>
#include <numeric>
#include <windows.h> …
Run Code Online (Sandbox Code Playgroud)

c++ syntax static pointers constants

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

标签 统计

constants ×10

c++ ×3

class ×3

c ×1

constructor ×1

cuda ×1

eval ×1

function ×1

go ×1

gpu-warp ×1

interface ×1

java ×1

javascript ×1

member ×1

perl ×1

php ×1

pointers ×1

static ×1

swift ×1

swift3 ×1

syntax ×1

typescript ×1