小编Vij*_*jay的帖子

什么是C中的size_t?

size_t在C中感到困惑.我知道它是由sizeof运营商返回的.但究竟是什么呢?它是数据类型吗?

假设我有一个for循环:

for(i = 0; i < some_size; i++)
Run Code Online (Sandbox Code Playgroud)

我应该使用int i;size_t i;

c int size-t

590
推荐指数
10
解决办法
68万
查看次数

"static const"vs"#define"vs"enum"

在C中的以下陈述中哪一个更好用?

static const int var = 5;
Run Code Online (Sandbox Code Playgroud)

要么

#define var 5
Run Code Online (Sandbox Code Playgroud)

要么

enum { var = 5 };
Run Code Online (Sandbox Code Playgroud)

c constants

550
推荐指数
12
解决办法
33万
查看次数

如何在vi中加入两行?

我在文本文件中有两行,如下所示:

S<Switch_ID>_F<File type>
_ID<ID number>_T<date+time>_O<Original File name>.DAT
Run Code Online (Sandbox Code Playgroud)

我想在vi中添加两行,如下所示:

S<Switch_ID>_F<File type>_ID<ID number>_T<date+time>_O<Original File name>.DAT
Run Code Online (Sandbox Code Playgroud)

第二行被删除,第二行的内容被附加到第一行.

我怎么能在vi中使用命令模式呢?

vi vim

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

C++中的dynamic_cast和static_cast

dynamic_cast对C++中的关键字很困惑.

struct A {
    virtual void f() { }
};
struct B : public A { };
struct C { };

void f () {
    A a;
    B b;

    A* ap = &b;
    B* b1 = dynamic_cast<B*> (&a);  // NULL, because 'a' is not a 'B'
    B* b2 = dynamic_cast<B*> (ap);  // 'b'
    C* c = dynamic_cast<C*> (ap);   // NULL.

    A& ar = dynamic_cast<A&> (*ap); // Ok.
    B& br = dynamic_cast<B&> (*ap); // Ok.
    C& cr = dynamic_cast<C&> …
Run Code Online (Sandbox Code Playgroud)

c++ dynamic-cast

149
推荐指数
4
解决办法
16万
查看次数

gdb调试器最棘手/最有用的命令

你可以在运行像gdb或dbx这样的调试器时发布最棘手和最有用的命令.

c unix debugging gdb dbx

136
推荐指数
8
解决办法
4万
查看次数

C++中的多态性

据我所知:

C++提供了三种不同类型的多态性.

  • 虚拟功能
  • 函数名称重载
  • 运算符重载

除了上述三种类型的多态性外,还存在其他种类的多态性:

  • 运行
  • 编译时间
  • ad-hoc多态性
  • 参数多态性

我知道运行时多态性可以通过虚函数实现 ,静态多态可以通过模板函数实现

但对于另外两个

ad-hoc多态性:

如果可以使用的实际类型的范围是有限的,并且必须在使用之前单独指定组合,则这称为ad-hoc多态.

参数多态性:

如果所有代码都是在没有提及任何特定类型的情况下编写的,因此可以透明地使用任意数量的新类型,这称为参数多态.

我几乎无法理解他们:(

任何人都可以用一个例子解释他们两个吗?我希望这些问题的答案对他们大学的许多新的消息有所帮助.

c++ polymorphism c++-faq

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

如何在Unix中删除文件中的重复行?

有没有办法在Unix中删除文件中的重复行?

我可以使用sort -uuniq命令,但我想使用sedawk.那可能吗?

unix shell scripting awk sed

118
推荐指数
6
解决办法
10万
查看次数

ptr为NULL的free(ptr)是否会损坏内存?

从理论上讲,我可以这么说

free(ptr);
free(ptr); 
Run Code Online (Sandbox Code Playgroud)

是一个内存损坏,因为我们释放已经释放的内存.

但是如果

free(ptr);
ptr=NULL;
free(ptr); 
Run Code Online (Sandbox Code Playgroud)

由于操作系统将以不确定的方式运行,我无法对此进行实际的理论分析.无论我在做什么,这种记忆是否会腐败?

释放空指针有效吗?

c free null pointers

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

C auto关键字在哪里使用?

在我的大学时代,我读到了auto关键词,随着时间的推移,我实际上忘记了它是什么.它被定义为:

将局部变量定义为具有本地生命周期

我从来没有发现它在任何地方都被使用过,它是否真的被使用过,如果是的话那么它在哪里被使用?在哪些情况下?

c

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

使用变量替换shell脚本中的字符串

我使用下面的代码替换shell脚本中的字符串.

echo $LINE | sed -e 's/12345678/"$replace"/g'
Run Code Online (Sandbox Code Playgroud)

但它正在被替换$replace而不是该变量的值.

谁有人说出了什么问题?

unix shell sed

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

标签 统计

c ×5

unix ×3

c++ ×2

sed ×2

shell ×2

awk ×1

c++-faq ×1

constants ×1

dbx ×1

debugging ×1

dynamic-cast ×1

free ×1

gdb ×1

int ×1

null ×1

pointers ×1

polymorphism ×1

scripting ×1

size-t ×1

vi ×1

vim ×1