global-variables 相关问题

Python-将全局变量(不断更新)传递到类中

我正在尝试使用不断更新的全局变量作为参数来实例化一个类。 但发生的情况是类(在自己的线程中运行)无法识别全局变量

回答 1 投票 0

Python:缓存本地函数变量以供后续调用

在C/C++中,函数可以将局部变量声明为静态。这样做时,该值保留在内存中,并且可供后续调用该函数使用(该变量不再是本地变量,而是...

回答 1 投票 0

我可以在链接到外部js文件的<scrip>标签内调用匿名函数吗?

HTML 文件(firstHTML.html) 我的第一个网页 第一段 HTML 文件(firstHTML.html) <!DOCTYPE html> <html> <body> <h2>My First Web Page</h2> <p id="demo">First Paragraph</p> <p id="demo2">Second Paragraph should be something different</p> <script src="myScript.js"> show3(); </script> </body> </html> JavaScript 文件(myScript.js) 让 show3 = 函数() { document.getElementById('demo2').innerHTML='我正在尝试使用外部 JS 文件中的匿名函数更改第二段'; }; 我期待 show() 函数运行,因为它位于 标签下方。我仍在学习 javascript 作用域,因此匿名函数完全有可能没有全局范围,因此我的函数将无法运行,但为什么是我的问题。先谢谢大家了。 该问题是由于在加载和解析外部 JavaScript 文件之前调用 show3() 引起的。 <!DOCTYPE html> <html> <body> <h2>My First Web Page</h2> <p id="demo">First Paragraph</p> <p id="demo2">Second Paragraph should be something different</p> <script src="myScript.js"></script> <script> // Wait for the DOM content to fully load document.addEventListener('DOMContentLoaded', function() { show3(); // Safe to call now }); </script> </body> </html>

回答 1 投票 0

如何将值直接读取到全局 HashMap 中?

如何创建一个 HashMap 全局变量并直接填充数据?下面的代码有一个按预期工作的局部变量“e”。然而,我正在努力使其成为全球

回答 1 投票 0

使常量数组对不同的源文件可见

是否可以使常量数组的内容在多个其他源文件中可见,以便编译器可以优化对数组的访问。 我有一个数组 const int myTable[10];并且在多个...

回答 1 投票 0

为什么javsascript会认为全局变量未定义

我正在编写一个函数来检查页面上的表格是否为空,并根据需要插入带或不带标题的行。 页面本身的代码是:

回答 0 投票 0

Python - 语法错误:名称“point_to_managementDB”在全局声明之前分配给

point_to_managedDB = 无 def _get_ Correct_DB_flag(): 如果 ENV ==“dev”: 全局指向托管数据库 point_to_managedDB = os.environ.get("OIA_POINT_TO_MANAGED_DB_DEV...

回答 1 投票 0

C 中的共享全局变量

如何创建在 C 中共享的全局变量?如果我将其放入头文件中,则链接器会抱怨变量已定义。是在 on 中声明变量的唯一方法...

回答 7 投票 0

访问数据,BSS段是通过指针还是通过指令直接寻址?

我知道当访问堆栈帧的内存时,它将通过使用堆栈帧指针来完成,但我想知道如何访问数据,包含全局/静态数据的 BSS 段......

回答 2 投票 0

c++ 如何在类构造函数中将值设置为 extern const

我有一个在 .h 文件中定义的全局变量,我想在此类的构造函数中分配它,该怎么做? 我的.h 外部 const char* myval; 命名空间 mysp { 民众: 我的班级(...

回答 1 投票 0

如何更改 Python 中的默认全局变量?

大家都说不要使用全局变量。但是,在 Python 中,默认情况下所有变量都是全局的。有什么办法可以改变这个吗? 定义函数(): 迪克[‘一’]=35 迪克={} 功能() 优先...

回答 1 投票 0

如何从另一个文件访问结构体?

我有以下代码,目标是在代码中使用颜色变量作为二进制标志。 主程序 #include“turn.h” #包括 void subfunc(转 t) ...

回答 1 投票 0

如何从 C 中的另一个文件访问结构体?

我有以下代码,目标是在代码中使用颜色变量作为二进制标志。 主程序 #include“turn.h” #包括 void subfunc(转 t) ...

回答 1 投票 0

尝试返回计数以及已排序的丢失时出现类型错误

计数 = 0 def 合并(L1,L2): m = len(L1) n = len(L2) 我=0 j = 0 c = [] k = 0 当我 count = 0 def merge(L1,L2): m = len(L1) n = len(L2) i = 0 j = 0 c = [] k = 0 while i<m and j<n: if L1[i]<=L2[j]: c.append(L1[i]) i += 1 else: c.append(L2[j]) j += 1 while i<m: c.append(L1[i]) i += 1 while j<n: c.append(L2[j]) j += 1 return c def subordinates(L): length = len(L) global count count = count + 1 if length <= 1: return L L1 = subordinates(L[:length//2]) L2 = subordinates(L[length//2:]) sorted_list = merge(L1,L2) return sorted_list x = [10, 33, 45, 67, 92, 100, 5, 99, 105] print(subordinates(x)) 上面的代码对 x 进行了正确排序并返回列表。 但是当我跑步时: return (sorted_list,count) 它不允许我返回计数。它给出了类型错误: 类型错误:'<=' not supported between instances of 'int' and 'list' 您尝试返回一个元组,但在分配给 L1 和 L2 时没有考虑到这一点。 您可以按如下方式补救: count = 0 def merge(L1, L2): m = len(L1) n = len(L2) i = 0 j = 0 c = [] k = 0 while i < m and j < n: if L1[i] <= L2[j]: c.append(L1[i]) i += 1 else: c.append(L2[j]) j += 1 while i < m: c.append(L1[i]) i += 1 while j < n: c.append(L2[j]) j += 1 return c def subordinates(L): length = len(L) global count count = count + 1 if length <= 1: return L, 0 L1, _ = subordinates(L[: length // 2]) L2, _ = subordinates(L[length // 2 :]) sorted_list = merge(L1, L2) return sorted_list, count x = [10, 33, 45, 67, 92, 100, 5, 99, 105] print(subordinates(x)) 输出: ([5, 10, 33, 45, 67, 92, 99, 100, 105], 17)

回答 1 投票 0

如何使共享库的全局对象在 exit() 函数中存活?

我遇到共享库的全局对象在使用之前被销毁的问题。我不知道所有细节,也无法控制使用该库的应用程序,但我的假设

回答 1 投票 0

如何初始化全局对象或变量并在每个 FastAPI 端点中重用它?

我正在上一堂发送通知的课。初始化时,需要建立与通知服务器的连接,这非常耗时。我使用 FastAPI 中的后台任务来发送

回答 1 投票 0

如何在C++中访问不同作用域的局部变量? [重复]

在 C++ 中,我有一种情况,我想从内部块作用域访问 main 函数的局部作用域中定义的变量。这是我的代码的简化版本: #包括 在 C++ 中,我有一种情况,我想从内部块作用域访问在主函数的局部作用域中定义的变量。这是我的代码的简化版本: #include <iostream> using namespace std; int var = 10; // Global variable int main(int argc, char *argv[]) { int var = 20; // Local variable in main { int var = 40; // Local variable in inner block cout << ::var; // Prints 10 (the global variable) // But I want to print the `var` in the `main` scope (20) } return 0; } 我想让cout打印20,这是main范围内var的值。然而,使用 ::var 只给我全局变量值 10。 C++ 中是否有一种方法可以从该内部块中访问 main 中的局部变量(值 20),绕过内部块中定义的局部变量(值 40)? 我知道 C++ 没有相当于 Python 的 nonlocal 关键字,但是是否有一种解决方法或技术允许从封闭范围访问变量而不更改变量名称? 没有办法做到这一点。该语言没有提供区分 var 中的第一个 main 与第二个 var 的方法。 如果您曾经编写过生产代码,请避免使用此类变量。这将导致有错误的代码。您会对给定代码行中的范围内的变量感到困惑。 您无法访问其范围之外的变量(在某些情况下 extern 可以使用,但不能在您的代码中使用)。因此,您不能在其范围之外使用变量 var (在最里面的块内声明)。例如, int var = 10; int main(int argc, char *argv[]) { int var = 20; // this var { int var = 40; } cout << var; // this will access var declared first and prints 20 return 0; } 相信我,不需要以这种方式声明和使用变量。这将导致有错误的代码。请记住,如果您使用 GCC 或 clang,请在编译时始终使用 -Wshadow 编译器标志,因为如果在代码中的任何位置执行类似的操作,它会显示警告。如果您不从终端编译代码,请尝试将其包含在您的 IDE 或 makefile 中。 案例A int var = 10; int main(int argc, char *argv[]) { int var = 20; // this var { int var = 40; cout << ::var; // This will output 10 because you have used scope of operator that'll point to global variable in C++. } return 0; } 案例B int var = 10; int main(int argc, char *argv[]) { int var = 20; // this var { int var = 40; cout <<var; // This will output 40 because you are using local variable. } return 0; } 案例C int var = 10; int main(int argc, char *argv[]) { int var = 20; // this var { int var = 40; } cout << var; // this will output 20 because using var that is declared in main() function. return 0; } 关于您的示例代码 int var = 10; int main(int argc, char *argv[]) { int var = 20; // this var { int var = 40; cout << ::var; // I want to print `var` variable in main scope. // But this command print global variable. } return 0; } ...以及评论中规定的目标, ” 我想在主作用域中打印 var 变量 ...您可以按如下方式执行此操作,只需为其添加 alias: int var = 10; int main() { int var = 20; // this var { auto& outer_var = var; int var = 40; cout << outer_var; } } C++ 没有提供可以为您执行此操作的作用域解析机制。如果有这样一个机制,例如相对范围解析或函数名称作为伪名称空间名称,可能会被使用,然后人们会看到至少一些难以理解的代码,因为在一小段代码中对不同的事物使用相同的名称。另一种语言设计类似于 C#,其中隐藏(如内部 var 遮蔽外部 var)是被完全禁止的。 同样,C++ 也没有提供任何方法来为全局命名空间提供额外的名称。其他命名空间可以使用别名,但全局命名空间不能使用别名,这样就可以非常确定全局命名空间不会通过类似 companyname::counter 的内容被引用。 C++ 还对名称空间作用域函数可以重载哪些运算符进行了限制,这也是为了提供一种绝对可以依赖的理智措施。关于最后一个基本原理,我从 Bjarne Stroustrup(语言创建者)那里得知。关于缺乏相对作用域解析和缺乏全局名称空间别名的基本原理,这只是一个合格的猜测,即它们是相同的,但这是有道理的。 :)

回答 4 投票 0

如何修复 NetLogo 错误“已经有一个名为 [ ]”的全局变量

我不断收到错误“已经有一个名为“DOTTED-LINE-VISIBLE”的全局变量,但是当我更改名称时,它给了我相同的错误,但使用了新名称。我不知道该怎么解决...

回答 1 投票 0

如何在函数外部访问定义在函数中的全局变量?

我的文件中有这样的函数结构: def rec_count(): 全局变量 如果变量== 5: 返回 变量 += 1 记录计数() 定义计数(): 全局变量 变量 = 0 记录...

回答 1 投票 0

struct.h 中的静态全局指针由 struct.c 中的函数分配,但在 main() 中为 NULL

struct.h #ifndef STRUCT_H #定义STRUCT_H 结构体链表 { 整数数据; }; 静态结构链表 *head = NULL; 无效build_linkedlist(); #endif 结构体.c #包括 #包括...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.