`

static volatile 使用问题

c++ 
阅读更多
static volatile int  k; 在。h 文件中这样写是错误的。

但是都在一个。cpp中是ok的

例如:








  1 #include<iostream>
  2
  3 using namespace std;
  4
  5 int main()
  6 {
  7
  8
  9 static bool volatile s = false;
10 s= true;
11
12 while(s){
13
14 cout<<"========"<<endl;
15 return 0;
16 }
17
18
19 return 0;
20 }
这个程序是ok的。
原因是因为:因为你声明后就完成了定义啊,编译器不用决定s的值。
声明就完成了初始化,不需要编译器去决定初值

分享到:
评论

相关推荐

    const extern static volatile 小结

    - 单纯使用 `volatile` 关键字并不能解决所有并发问题,通常需要与其他同步机制(如互斥锁)结合使用。 - 使用 `volatile` 需要谨慎,因为它可能导致编译器放弃某些优化。 #### 综合运用 了解 `const`、`extern`...

    const,extern,static,volatile的使用

    ### const、extern、static、volatile 的使用详解 #### 一、const 的使用 **1. 为什么使用 const** `const` 关键字在 C 和 C++ 编程语言中非常常见,它用来声明一个常量或者指定某个变量的某个方面为不可变。使用...

    static,const,volatile用法

    ### static、const、volatile用法解析 在编程领域中,`static`、`const`、`volatile` 这三个关键字非常常见且重要。它们分别用于控制变量的作用域、可变性和不可预测性,是理解程序行为的基础之一。下面将详细介绍...

    C语言中关键字const、static、volatile、extern、auto、register的用法分析.doc

    C语言中关键字const、static、volatile、extern、auto、register的用法分析 本文将对C语言中的六个关键字:const、static、volatile、extern、auto、register进行详细的分析和解释。 一、const关键字 Const关键字...

    volatile关键字 Const关键字 static关键字 mutable 关键字

    在C/C++编程语言中,`volatile`, `const`, `static` 和 `mutable` 是四个非常重要的关键字,它们各自有着独特的用途和含义。下面将详细解释这些关键字的作用以及它们在程序设计中的应用。 1. `volatile` 关键字 `...

    C语言中auto register static const volatile 区别

    C语言中auto register static const volatile的区别 ...auto、register、static、const和volatile五个关键字在C语言中分别有其独特的用途和特性,正确地使用它们可以提高程序的执行效率和健壮性。

    extern_volatile等修饰符的用法

    "extern_volatile等修饰符的用法" 在C++语言中,extern、volatile、const、static等...extern、volatile、const、static等修饰符都是C++语言中的重要组成部分,正确使用它们可以提高代码的可读性、安全性和可维护性。

    C语言中auto,register,static,const,volatile的区别.docx

    需要注意的是,过度使用`register`可能导致编译器分配内存出现问题。 3. **`static`**: `static`关键词有两种主要用法: - **函数内部**:在函数内部声明的`static`变量将在程序的整个执行期间保持其值,不会在...

    C语言中auto,register,static,const,volatile的区别

    ### C语言中auto,register,static,const,volatile的区别 #### 1. auto `auto`关键字在C语言中主要用于声明变量,并且默认情况下所有局部变量(非静态局部变量)都具有`auto`属性。这意味着当函数执行时,这些...

    Java 关键字 volatile 的理解与正确使用

    Java 关键字 volatile 的理解与正确使用 Java 语言中关键字 volatile 被称作轻量级的 synchronized,与 synchronized 相比,volatile 编码相对简单且运行时的开销较少,但能够正确合理地应用好 volatile 并不是那么...

    volatile详解

    详细介绍关键字volatile的作用,用法,意义,在c语言中的地位,及其与static的区别,

    单件模式试做--static的使用

    除了上述的“懒汉式”实现,还有其他实现方式,如“饿汉式”(在类加载时就初始化实例)、双检锁/双重校验锁(DCL,使用volatile关键字保证可见性和避免指令重排序)等。每种实现方式都有其优缺点,需要根据实际应用...

    详解C中volatile关键字

    如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序...

    Java中volatile关键字实现原理

    它是Java.util.concurrent包的核心,没有volatile就没有那么多的并发类供我们使用。本文详细解读一下volatile关键字如何保证变量在多线程之间的可见性。 一、CPU缓存机制 CPU缓存的出现主要是为了解决CPU运算速度...

    C语言中auto,register,static,const,volatile的区别详细解析

    在C语言中,有五种特殊的存储类别关键字:`auto`、`register`、`static`、`const`和`volatile`,它们用于定义变量的存储类型、生命周期和访问特性。下面将详细解释这些关键字的区别: 1. `auto`:`auto`关键字通常...

    java多线程编程之慎重使用volatile关键字

    这正是为什么在使用volatile时需要格外慎重的原因。 volatile关键字的主要功能有两个:一是保证内存可见性,二是禁止指令重排序。当一个变量被声明为volatile后,任何线程对这个变量的修改都会立即刷新到主内存中,...

    Java基础:volatile详解.pdf

    通过使用volatile关键字,来验证volatile确实可以保证可见性。 代码示例: ``` package com.koping.test; import java.util.concurrent.TimeUnit; class MyData{ volatile int number = 0; public void add10()...

    volatile学习手册

    当一个变量被声明为volatile时,任何线程对它的修改都将立即更新到主内存,并且其他线程在读取该变量时会直接从主内存获取最新值,而不是使用工作内存中的副本。这样可以避免线程间的数据延迟或不一致。 2. 可见性...

    深入解析volatile关键字:保障多线程下的数据一致性与可见性.pdf

    #### 三、volatile的使用场景 ##### 3.1 状态标记 `volatile`变量常用于控制多线程之间的开关标志。例如,在一个线程池中,可以通过`volatile`变量作为线程是否继续执行的标志。当主程序决定终止线程时,只需要修改...

    java 中volatile和lock原理分析

    然而,如果`stop`字段被用作控制循环结束的标志,只使用volatile可能不足以确保线程安全,因为读取和写入`stop`的线程之间可能存在竞态条件。在这种情况下,通常会使用锁或者AtomicBoolean来确保线程安全。 总的来...

Global site tag (gtag.js) - Google Analytics