小编ret*_*n 0的帖子

条件操作和花括号可以影响代码吗?

我想知道条件运算符是否可以实际阻止其他不相关的代码工作.例如下面:

typedef char WCHAR_T;
#define STRLEN(x) strlen(x)
if (argc > 2)
{
    WCHAR *pFileName = argv[1];
    basic_string <WCHAR> strFileName(pFileName, STRLEN(pFileName));
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,pFileName,argv [1]和strFileName与比较无关argc > 2.假设命令行参数完全没问题.但是,此代码不适用于该比较.此外,即使我将代码更改为以下格式:

typedef char WCHAR_T;
#define STRLEN(x) strlen(x)

{
    WCHAR *pFileName = argv[1];
    basic_string <WCHAR> strFileName(pFileName, STRLEN(pFileName));
}
Run Code Online (Sandbox Code Playgroud)

仍然无法正常工作.编辑:通过"不工作",我的意思是编译器提供错误消息,如"strFileName"未声明,这意味着此声明根本没有运行.

我不知道为什么花括号会对代码产生如此大的影响.当我摆脱花括号时,代码就像魔术一样......有人能解释一下吗?谢谢.

c++ debugging

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

在shell命令中echo是什么意思?

我有以下命令:

echo "- - -" | sudo tee /sys/.../scan
Run Code Online (Sandbox Code Playgroud)

我如何解释这一行命令?我在Google中找不到任何内容,因为该行中的字符。

谢谢!

linux shell

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

在C++中进行多文件编译时,"未声明函数"

我的源文件如下所示

//functions.h
#ifdef FUNCTIONS
#define FUNCTIONS

bool isPrime(int num);

#endif

//function.cpp
include "functions.h"
bool isPrime(int num) {...}

//main.cpp
#include "functions.h"
#include <iostream>
int main()
{
    std::cout << isPrime(2);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我用g ++ -o main main.cpp functions.cpp编译它们

它给了我错误消息"isPrime"未在此范围内声明.

c++ reusability

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

malloc 和全局变量声明在 C 中将它们的变量分配到哪里?

在一个简单的 C 程序中,如果我malloc有一个指向变量或数组的点,就内存映射而言,这部分内存分配到哪里?我对计算机编程很陌生,所以我不确定不同的变量在内存中的存储方式不同。

此外,全局变量(例如int x = 5)将存储在内存中的何处?

最后,有没有关于 C 语言如何与底层硬件交互的材料?我在网上找到的都是和C语法有关的,但是我太菜了,看不懂编译器的书。

如果这不清楚,请告诉我。

c malloc memory-management

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

scala 中的 .+= (dot plus equal) 是什么意思?

我有看起来像 x.=+y 的代码,其中 x 是ArrayBuffer[String]类型并且y是一个字符串

scala

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

标签 统计

c++ ×2

c ×1

debugging ×1

linux ×1

malloc ×1

memory-management ×1

reusability ×1

scala ×1

shell ×1