小编Vik*_*rma的帖子

为什么在创建指针类型对象时内存没有分配给类?

我有点好奇为什么在创建指针类型对象时内存没有分配给类或结构?

例如 :-

class A
{
    public:

    void show()
    {
        cout<<" show function "<<endl;  
    }

};
int main()
{
A *a;
a->show();
   return 0;
};
Run Code Online (Sandbox Code Playgroud)

c++ object

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

在内存中明确地为特定地址/位置分配或访问值?

我确切的问题是,有任何规定c,并c++明确指定的值,以特定的地址,例如,假设我要存储200x1846010内存中的地址,我也想访问使用相同的地址(值0x1846010).

可能很容易,但如果可以,我真的很困惑如何做到这一点.

任何人都可以解释这是可能的,如果是,那么如何(有适当的例子),如果没有那么为什么?

提前致谢.

c c++ memory

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

当我们使用malloc而没有声明stdlib.h时头文件编译器返回一个int为什么?

之前我问了一个问题,即如果malloc的返回被强制转换,那么将被标记的错误被隐藏 ,我得到的答案是:在(较旧的方言)C中,你可以调用一个尚未声明的函数; 隐式声明一个返回类型为的函数int.因此,如果您在malloc()不包含标题的情况下进行调用,则会得到错误地认为它返回的代码int.如果没有强制转换,当您尝试将其分配给指针时,会出现编译器错误.使用强制转换,代码将编译,可能会产生模糊的运行时错误和冗长的调试会话.

据我所知,如果不包含<stdlib.h>头文件编译器,则隐式声明一个返回类型为的函数int.

但我感到困惑的是,根据malloc()创建者定义的函数定义,void *每当我们使用它时它都会返回,但没有<stdlib.h>返回int.那么它的定义如何改变,是编译器隐式改变void *int *类型,还是有其他原因?

我知道我无法正确解释我的问题,但如果有人理解,请向我解释一下.

c malloc

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

与异常处理相关的查询

我有一些部分的相关代码的异常处理两个C#和Java.

正如我在C#读到的那样,当发生这种StackOverflowException情况时,最终块将不会被执行,因为堆栈上没有空间来执行任何更多的代码,并且当ExecutionEngineException发生时也不会调用它,这可能是由于调用Environment.FailFast().

在我的下面的代码(C#)中,我故意生成StackOverflowException:

 class overflow1

    {

      public  void disp()

        {
            try
            {
                Console.WriteLine("disp");
                disp();
            }

            catch(Exception e) {
                Console.WriteLine(e);
                Console.WriteLine("catch");
            }

            finally {
                Console.WriteLine("finalyyy");
            }
        }
    }

    class ExceptionHandling
    {
        static void Main() {

                overflow1 s = new overflow1();

                s.disp();

            Console.Read();
        }
    }
Run Code Online (Sandbox Code Playgroud)

输出:

DISP

DISP

DISP

.

.

.

由于StackOverFlowException,进程终止

正如我所说,如果StackOverflowException发生,因为堆栈上没有空间甚至执行finally块的更多代码.即使catch块的方法也未被调用,可能是由于相同的原因(堆栈中没有剩余空间).

现在我在java中尝试了相同的代码:

public class ExceptionHandlingTest {

  static  int …
Run Code Online (Sandbox Code Playgroud)

c# java stack-overflow exception

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

标签 统计

c ×2

c++ ×2

c# ×1

exception ×1

java ×1

malloc ×1

memory ×1

object ×1

stack-overflow ×1