小编Dee*_*epu的帖子

写入全局变量的顺序

在下面的程序中,我调用一个函数foo()来设置一个全局变量i ,然后调用构造函数class A,其中i也应该设置,但是10.但是我的程序输出是3 0,你能解释一下吗?

#include <iostream>

int i;

class A
{
    public:
        ~A()
        {
            i=10;
        }
};

int foo()
{
    i = 3;
    A ob;
    return i;
}

int main()
{

    std::cout << "i = " << foo() << " " << i << "\n";
}
Run Code Online (Sandbox Code Playgroud)

c++ constructor global-variables

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

有没有办法将结构类型传递给ac函数

我有一些代码具有多个彼此非常相似的功能,可以根据结构中一个字段的内容查找列表中的项目.这些函数之间的唯一区别是查找结构的类型.如果我可以传入类型,我可以删除所有代码重复.

我也注意到在这些函数中也发生了一些互斥锁定,所以我想我可能会把它们留下来......

c

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

如何在基于Debian的系统上以编程方式获取IP地址?

我正在尝试检索IP Address程序中的本地计算机.操作系统是Ubuntu 8.10.我尝试使用gethostname()gethostbyname()检索IP Address.我收到的答案是127.0.1.1.我了解到它似乎是一Debian件事: 这里链接的文件解释了这个想法.

我的/etc/hosts文件内容是:

127.0.0.1 localhost
127.0.1.1 mymachine

在这种情况下,有没有其他方式以编程方式(更喜欢C或C++)获取IP地址而不修改机器上的系统文件?

c debian ip-address

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

C,打印链接列表

我必须编写一个使用链表的C程序.我已经创建了一个列表并添加了列表中的元素.但我不知道如何打印列表中的所有元素.该列表是字符串列表.我想我会以某种方式在列表中递增,打印出那里的每一个字符串,但我无法想办法做到这一点.

简短:如何打印linked list

c printing linked-list

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

Java Big-O性能

我对我的课程项目的表现有疑问.

我通过阅读文本文件形成了大约5000个游戏对象.我有一个Treemap(称为supertree)作为其节点Treemaps(我猜的迷你树图).这些nodes/mini treemaps是动作,战略,冒险,运动,游戏标题等.基本上游戏类型和这些迷你树将持有游戏对象.所以它supertree本身可能会持有8个nodes/treemaps.

当我插入游戏对象时,它将确定mini tree它将进入哪里并将其放入其中.例如,如果我插入游戏超级马里奥世界,它将检查它是哪种类型,并看到它adventure,所以超级马里奥世界将被插入adventure树.

所以我的问题是如果问题列出了所有的表现会是什么action games,因为Treemap得到的是O(log n)

首先在超级树上寻找Action Node/Treemap,它将采用O(log n).

然后一旦进入内部Action treemap,它将获得o(n log n)正确的所有元素吗?

那么总的表现log n * (n * log n)是否正确?哪个比最差o(n).

[编辑]希望这有点澄清了我的帖子.

java time-complexity

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

如何在Windows资源管理器中获取窗口的完整路径

当我必须在中打开一个文件夹时Windows Explorer(例如d:\myfolder\test),我使用::GetForegroundWindow()获取其文件夹Window Handle,并使用::GetWindowText获取标题文本。但是在默认窗口中,不会显示当前窗口的完整路径(当然,您可以通过tools-folder option-view-display full path在标题栏中设置标题栏以显示完整路径),::GetWindowText只有test。如果我想获得完整的路径d:\myfolder\test,我该如何通过获得的Windows手柄来获得此路径::GetForegroundWindow()

有什么建议么。谢谢。

c c++

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

如何将C中的uint32_t移植到Windows 7(32位)

最近我遇到了一个包含数据类型的程序

uint32_t, uint32, uint64 etc.
Run Code Online (Sandbox Code Playgroud)

我可以在Windows 7(32位)中运行该程序而不进行任何更改吗?我使用Code :: Blocks 10.05和MingW.

如果需要更改,哪些数据类型可以替换它们?

另外我想知道C的哪个标准定义了uint32_t,uint32等?它是所谓的gcc C吗?

c

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

多级继承和纯虚函数

包含纯虚函数的类不能包含对象.这是我对纯虚函数的看法.我有以下程序,它编译没有任何错误.

#include<iostream>

using namespace std;

class Father {
   public:
   virtual void foo()=0;
};

class Son:public Father {
  // Nothing here 
};

int main() {

}
Run Code Online (Sandbox Code Playgroud)

这是预期的,因为这两个类都没有对象.但是当我试图从包含纯虚函数的类中获得多级继承时,下面的程序给了我错误.

#include<iostream>

using namespace std;

class Father {
   public:
   virtual void foo()=0;
};

class Son:public Father {
  // Nothing here
};

class Grand_Son:public Son {
    void foo() {
        cout<<"\nFunction foo From Grand_Son\n";
    }
};

int main() {
   Grand_Son x;
   x.foo();
}
Run Code Online (Sandbox Code Playgroud)

错误如下所示.

In function 'int main()':|
|error: 'virtual void Grand_Son::foo()' is private|
|error: within this …
Run Code Online (Sandbox Code Playgroud)

c++

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

存储静态变量的位置(数据段或堆或BSS)?

我获得了关于静态变量存储的矛盾意见.

意见1:" 堆栈静态变量将其值存储在堆中 "

意见2:" 堆栈静态变量将其值存储在数据段中".

我对这些相互矛盾的答案感到困惑.

哪里存储了静态变量?

我期待着参考文献的答案(教科书,真实的教程等).

静态变量有两种类型:

  1. 在函数内声明的静态变量.
  2. 全局(声明的外部函数)静态变量.

我还想知道这两种变量的存储是否存在差异?

c heap static

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

左值在C中返回指针

我试着执行以下代码,

int val=10;
printf("%d",++val++);
Run Code Online (Sandbox Code Playgroud)

正如所料,我收到以下错误消息," lvalue required as increment operand".但是,当我做出以下更改时,程序运行正常.

int val=10;
int *ptr=&val;
printf("%d",++*ptr++);
Run Code Online (Sandbox Code Playgroud)

该计划的产出为11.输出值并不令人惊讶.

但整个构造++*ptr++是一个lvalue而不是一个rvalue混乱.

我打印了ptr之前和之后的内容如下,

printf("%u\n",ptr);
printf("%d",++*ptr++);
printf("\n%d\n",ptr);
Run Code Online (Sandbox Code Playgroud)

22935322293536是在屏幕上打印的地址.所以显然ptr已经增加并且涉及指针添加.

输出有意义除了这样的事实*ptr检索其地址被存储在可变的含量ptr10++*ptr它递增到11.这绝对是一个rvalue.但是后期增量(++)已经被ptr我相信了.为什么这样?在C中管理此类绑定的规则是什么?

c

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