标签: const

无法在C中释放const指针

我怎么能免费const char*?我分配了新内存使用malloc,当我试图释放它时,我总是收到错误"不兼容的指针类型"

导致这种情况的代码如下:

char* name="Arnold";
const char* str=(const char*)malloc(strlen(name)+1);

free(str); // error here
Run Code Online (Sandbox Code Playgroud)

c free const

65
推荐指数
3
解决办法
4万
查看次数

为什么必须在构造函数初始化器中而不是在其体内初始化const成员?

为什么必须声明类成员const在构造函数初始化列表中而不是在构造函数体中初始化?

两者有什么区别?

c++ constructor initialization const

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

在函数名c ++之后的参数vs const之前的const

这样的事情之间有什么区别

friend Circle copy(const Circle &);
Run Code Online (Sandbox Code Playgroud)

和这样的事情

friend Circle copy(Circle&) const;
Run Code Online (Sandbox Code Playgroud)

我知道const后,函数被用来告诉编译器这个函数不会尝试更改它被调用的对象,那么另一个呢?

c++ const function

63
推荐指数
5
解决办法
5万
查看次数

指针声明为常量和易失性

在阅读时我遇到了这种类型的声明和以下行 -

const volatile char *p=(const volatile char *) 0x30;
Run Code Online (Sandbox Code Playgroud)

p的值仅由外部条件改变

我没有得到什么是外部条件.还有这种宣言的实际用途是什么?

c const volatile

63
推荐指数
6
解决办法
2886
查看次数

static和const变量有什么区别?

有人可以解释一个staticconst变量之间的区别吗?

c c++ static const

62
推荐指数
6
解决办法
11万
查看次数

什么是常量参考?(不是对常数的引用)

一个相当理论的问题......为什么常量引用的行为与常量指针的行为不同,我实际上可以更改它们指向的对象?它们看起来像是另一个简单的变量声明.我为什么要用它们?这是我运行的一个简短示例,它编译并运行时没有错误:

int main (){
    int i=0;
    int y=1;    
    int&const icr=i;
    icr=y;          // Can change the object it is pointing to so it's not like a const pointer...
    icr=99;         // Can assign another value but the value is not assigned to y...
    int x=9;
    icr=x;
    cout<<"icr: "<<icr<<", y:"<<y<<endl; 
}
Run Code Online (Sandbox Code Playgroud)

c++ const reference constants

62
推荐指数
4
解决办法
11万
查看次数

Java多参数点符号 - Varargs

我刚刚承认了带有多个参数的方法声明的点表示法,
如下所示:

public function getURLs(URL... urls){
    for(int i = 0; i < urls.length; i++){
        // walk through array of arguments
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用这样的

getURLs(url1, url2, url3);
Run Code Online (Sandbox Code Playgroud)

这些方法参数被隐式转换为 URL[] urls

  1. 我是否理解其行为?
  2. 这种语法的文档在哪里?
  3. 从哪个版本的JRE(J2ME,J2SE,Dalvik)支持?

java const constants

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

PHP - 使用数组作为类常量

可能重复:
是否可以将数组声明为常量

是否可以在PHP中使用数组作为类常量?

const MYARRAY = array('123', '234');
Run Code Online (Sandbox Code Playgroud)

如果不是为什么?

php arrays const

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

返回临时对象并绑定到const引用

可能重复:
const引用是否延长了临时的寿命?

我的编译器没有抱怨为const引用分配临时:

string foo() {
  return string("123");
};

int main() {
  const string& val = foo();
  printf("%s\n", val.c_str());
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么?我认为返回的字符串foo是临时的,val可以指向生命周期结束的对象.C++标准是否允许这样做并延长返回对象的生命周期?

c++ const reference

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

构造函数中的无限循环,不带或不带

我在这里做了一个测试,但输出是一个没有结束的循环,我不知道为什么.

实际上,我正在做另一个测试,但是当我写这个时,我不明白循环是如何发生的.它反复输出"ABC".

#include <map>
#include <string>
#include <iostream>

class test
{
public:
   std::map <int, int> _b;
   test();
   test (std::map<int, int> & im);
   ~test();
   };

test::test()
{
  std::cout<<"abc";
  _b.clear();
  _b[1]=1;
  test(_b);
}

test::test(std::map <int, int>& im)
{
   std::cout<<im[1];
}

test::~test() {};

int main ()
{
   test a;  
}
Run Code Online (Sandbox Code Playgroud)

c++ recursion constructor const

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