小编VIN*_*TIC的帖子

默认情况下全局变量是extern还是等于在全局中使用extern声明变量?

我经历了两个问题,

C和C++中的静态和外部全局变量

C中的全局变量是静态的还是不是?

这两个问题以不同的方式说明了这两件事.

问题1的答案: extern

问题2的答案: extern

我需要知道以下内容.

  1. 默认情况下,全局变量是extern在链接(或)中它等同于通过指定extern存储类来声明变量吗?

2.默认情况下,全局变量在范围(或)中是静态的,它等同于通过指定静态存储类来声明变量吗?

3.如果有任何c或c ++差异请澄清?

c c++ static global extern

11
推荐指数
2
解决办法
2853
查看次数

指针变量的数据类型是什么?

我审阅了以下链接,

Link1 Link 2

在上面的link1中,在答案中提到了" Pointers are of pointer type".

我只需要知道指针是否是数据类型.

没有人用一个单词回答这个问题.是数据类型还是没有?

这是我提到的第二个链接

指针只是一个保存地址的变量,因此人们可以争辩说指针是一种数据类型,但它没有被定义为数据类型(根据"C编程语言".Kernighan&Ritchie).

c c++ pointers

8
推荐指数
3
解决办法
8856
查看次数

一段时间后如何防止toad断开会话?

我正在使用toad为oracle客户端.

会话在一段时间后断开连接.如何在任何时候启用它.

oracle toad

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

为什么在密码中使用特殊字符被视为强密码?

为什么强密码需要包含特殊字符?

某些网站要求输入特殊字符作为创建密码的强制要求。

这背后有什么技术原因吗?

html passwords password-encryption

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

使用标记名称创建结构变量

我在以下链接中阅读了一篇文章

http://www.embedded.com/electronics-blogs/programming-pointers/4024450/Tag-vs-Type-Names

在这里作者说,使用follwing是错误的.

struct s
{
--
};

s var;
Run Code Online (Sandbox Code Playgroud)

但在我的示例代码中,它的工作完美.

  1 #include<iostream>
  2 using namespace std;
  3
  4 struct s
  5 {
  6    int sd;
  7 };
  8 s v;
  9
 10
 11
 12 int main()
 13 {
 14
 15    v.sd=10;
 16    cout<<v.sd;
 17    return 0;
 18 }
Run Code Online (Sandbox Code Playgroud)

编辑:

有什么实际的区别?为什么它在c ++中工作而在c中不起作用;

c c++ struct declaration

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

什么是getsockopt中的参数级别?

我得到了以下链接:getsockopt() 中的 SOL_SOCKET

但这对我来说真的很困惑。一个回答说SOL_SOCKET是socket层的意思。什么是套接字层?该参数还有其他可用选项吗?

如果我们传递SOL_SOCKET参数会发生什么,它SOL代表什么?

我正在使用 UNIX。

unix sockets setsockopt

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

在 vimdiff 中逐行合并?

在 vimdiff 中给出dp命令时,它会将左侧文件中的整个块(2 行)替换为右侧文件中的粉红色。

在该块中,如果我只想合并第二行。第一行不应合并。

vim vimdiff

5
推荐指数
2
解决办法
3893
查看次数

释放内存后我们如何访问指针?

按照我的理解,

free() 用于释放我们之前使用 malloc 分配的内存。

在下面的代码片段中,我释放了分配的内存。但是即使在释放后我也能够访问指针?怎么可能?

免费在内部如何运作?

#include<iostream>
using namespace std;

int main()
{
   int *p=(int *)malloc(sizeof(int));
   *p=17;
   free(p);
   *p=*p+1;
   printf("\n After freeing memory :: %d ",*p );
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

c malloc free pointers

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

什么是C ++中的原始指针?它们与普通指针有何不同?

原始指针有什么特殊含义吗?

普通指针变量和原始指针是否相同?

c++ pointers

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

如何在c编程中编译和链接文件?

我是c编程语言的新手.我在centos linux系统下的同一目录下有以下文件.

  • game.c

    game.h

    main.c中

game.h

#ifndef GAME_
#define GAME_

extern void game (void);

#endif
Run Code Online (Sandbox Code Playgroud)

game.c

#include "game.h"

void game (void)
{
   return 23;
}
Run Code Online (Sandbox Code Playgroud)

main.c中

#include "game.h"

int main (void)
{
    game();
}
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令编译时..

gcc main.c
Run Code Online (Sandbox Code Playgroud)

我收到如下错误消息..

/tmp/ccwIlBKt.o:在功能main': main.c:(.text+0x7): undefined reference to游戏'collect2:ld中返回1退出状态

链接我的头文件的正确方法是什么?

c linux

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

在地图中使用struct作为键时未调用<operator的重载?

我已经明白,当我们使用key作为struct时,我们必须为<operator编写运算符重载函数,因为map在插入map之前使用了必须比较的严格周序.

希望我的理解是正确的,请从这里阅读.

请考虑以下代码段

  struct Node
    {
       int a;     

     };


    // This is not called

  bool operator< (const Node &p_node1,const Node &p_node2)
  {
       printf("\nCALLED OPERATOR OVERLOADING");
       return true;
  }

    int main()
    {
       using namespace std;        
       map<Node,int> my_map;        
       Node n1;
       n1.a=55;

       my_map[n1]=2; // operator overloading should be called

       return 0;
    }
Run Code Online (Sandbox Code Playgroud)

问题是运营商重载功能没有被调用?

编辑:

从下面的答案中,在将另外一对添加到容器运算符后,调用重载.但是为什么它被专门召唤三次,这里有什么比较呢?

c++ operator-overloading map

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

从函数返回对象时调用复制构造函数?

我已经读过复制构造函数,当"复制一个对象从函数返回它"时调用.

所以我理解每当我们返回一个对象时调用复制构造函数是我的理解正确吗?

如果是,那么每当我们返回一个对象时,都会调用构造函数.所以,如果我们在程序中间复制构造函数将被调用.然后将值分配给类的数据成员.那么现有的价值会被取代吗?

如果不是,这句话的意思是什么?

SRC:教程点

 #include <iostream>

 using namespace std;

 class demo
 {
    public:
         int rate;
         demo(int init_rate);
         demo( const demo &obj_passed);
         demo display();
 };


 demo::demo(int init_rate)
 {
    cout << "\nNormal Construtor" << endl;
    rate=init_rate;
 }

 demo::demo(const demo &obj_passed) // Copy Constructor
 {
    cout << "\nCopy constructor" << endl;
    rate=obj_passed.rate;
 }

 demo demo::display()
 {
    demo temp(10);
    temp.rate=45;
    return temp; //copy constructor is not called here
     }

 int main( )
 {
          demo obj1=obj1.display(); 
          return 0;
 }
Run Code Online (Sandbox Code Playgroud)

和输出是

Normal Constructor
Run Code Online (Sandbox Code Playgroud)

c++

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