标签: qualifiers

C中的限定符和说明符之间有什么区别?

有人可以解释C中限定符和说明符之间的区别吗?

c qualifiers

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

定义多字数据表

C++有内置类型,如long long int,unsigend int.类型可以与限定符组合,例如const,volatilemutable.

为什么是long long int数据类型?为什么没有命名longLongInt?多字数据类型如何工作?我可以定义自己的吗?

是否可以根据自定义数据类型定义自定义限定符?

例如,考虑3D中的线性代数向量.可以定义一个LinAlVector类,它包含向量的x,y,z分量.

如果我现在需要确保,这个向量是一个单位向量(长度等于1),我想知道我是否可以写

isUnit LinAlVector vec(x,y,z);
Run Code Online (Sandbox Code Playgroud)

其中isUnit是影响行为的修饰符LinAlVector(例如,如果定义了非单位向量,则为编译器错误).

我知道OO直截了当的方法是派生类UnitLinAlVectorLinAlVector.

c++ types qualifiers

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

Spring:如何将 @RestClientTest 与带有 @Qualifier 的 RestTemplate 结合起来?

我已经更改了 Spring Boot (2.1.4) 服务,该服务消耗 aRestTemplate以使用@Qualifier. 现在我的测试(使用@RestClientTest@AutoConfigureWebClient)失败了,因为它无法解析 bean。

我该如何解决?

配置:

  @Bean
  @Qualifier("eureka")
  @LoadBalanced
  RestTemplate eurekaRestTemplate() {
Run Code Online (Sandbox Code Playgroud)

服务:

  public ClarkClient(
      @Qualifier("eureka") RestTemplate restTemplate, ClarkConfiguration configuration)
      throws URISyntaxException {
Run Code Online (Sandbox Code Playgroud)

考试:

@ExtendWith({SpringExtension.class, MockitoExtension.class})
@RestClientTest({CastorClient.class, CastorConfiguration.class})
@AutoConfigureWebClient(registerRestTemplate = true)
class CastorClientWebTest {

  @Autowired
  private CastorClient cut;

  @Autowired
  private MockRestServiceServer server;
Run Code Online (Sandbox Code Playgroud)

错误:

[2019-04-16T14:02:22,614] [WARN ] [            ....AnnotationConfigApplicationContext] [refresh 557] : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'castorClient' defined …
Run Code Online (Sandbox Code Playgroud)

java spring qualifiers spring-boot spring-boot-test

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

预选赛不在春季工作

CallingApp.java

@Service
@ComponentScan(basePackages = { "com.codegeekslab.type" })
public class CallingApp {

    @Autowired
    @Qualifier("BasicPhone")
    private Phone phone;

    public CallingApp(Phone phone) {
        this.phone = phone;
    }

    public void makeCall(int number) {
        phone.openApp(number);
    }

}
Run Code Online (Sandbox Code Playgroud)

Phone.java

package com.geekslab.device;

public interface Phone {

    public void openApp(int number);

}
Run Code Online (Sandbox Code Playgroud)

BasicPhone.java

package com.codegeekslab.type;

import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import com.geekslab.device.Phone;
@Component("BasicPhone")
 public class BasicPhone implements Phone {
    {
        System.out.println("BasicPhone");
    }

    public void openApp(int number) {
        System.out.println("calling via simcard... " + number);
    }

}
Run Code Online (Sandbox Code Playgroud)

SmartPhone.java

package …
Run Code Online (Sandbox Code Playgroud)

java spring qualifiers autowired

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

clang、gcc 和忽略限定符:谁是对的?

我在编译 BoringSSL 时发现 gcc 和 clang 之间的行为差​​异,并且能够将其缩减为以下测试用例来说明:

\n
typedef char *OPENSSL_STRING;\n#if USE_TYPEDEF\n#define constptr const OPENSSL_STRING\n#else\n#define constptr const char *\n#endif\n\nint\nfoo (const void **ap)\n{\n    constptr a = (constptr) *ap;\n    return a != 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我测试了四种场景,如下:

\n
sh$ g++ -c t2.cc -Wignored-qualifiers -DUSE_TYPEDEF\nt2.cc: In function \xe2\x80\x98int foo(const void**)\xe2\x80\x99:\nt2.cc:11:30: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]\n   11 |     constptr a = (constptr) *ap;\n      |                              ^~\nsh$ g++ -c t2.cc -Wignored-qualifiers \nsh$ clang++ -c t2.cc -Wignored-qualifiers -DUSE_TYPEDEF\nsh$ clang++ -c t2.cc -Wignored-qualifiers \nsh$ \n
Run Code Online (Sandbox Code Playgroud)\n …

c++ gcc qualifiers clang boringssl

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

为什么在这两种情况下“ const”的行为不同?

我有一个问题,为什么某个东西“一步一步”完成后为什么不能编译,而为什么“一步一步”完成却不能编译。我有三节课;

class Time {
  int mTime;

  int Time::getTimeAsUnix() const {return mTime;}
}

class Travel {
  Time mTimestamp;

  const Time& Travel::getTime() const { return mTimestamp; }
  Time& Travel::getTime() { return mTimestamp; }
}

class Analysis : public Travel {

  int Analysis::getUnixTime() const {
    // Time& t = Travel::getTime();
    // return t.getTimeAsUnix();     // This does NOT compile

    return Travel::getTime().getTimeAsUnix();  // This compiles
  }
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么在Analysis类中编译非注释方法,而注释方法却给我一个即时的“ C ++错误:尝试时将'const Time'绑定到类型'Time&'的引用时会丢弃限定符”吗?

两者执行时不是完全一样吗?

c++ const reference qualifiers

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

我正在尝试使用 @qualifier 自动装配我的 bean,但即使在添加限定符之后,我也会收到“required single bean”异常

BubbleSort.java 该类实现SortAlgorithm接口

package com.prakash.Spring.Example;

import org.springframework.stereotype.Component;

@Component
@Qualifier("bubbleSort")
public class BubbleSort implements SortAlgorithm {

    public void sort() {
        System.out.println("Sort from Bubble Sort");
    }
}
Run Code Online (Sandbox Code Playgroud)

QuickSort.java 该类实现了SortAlgorithm接口包com.prakash.Spring.Example;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.context.annotation.Primary;

import org.springframework.stereotype.Component;

@Component
@Qualifier("quickSort")
public class QuickSort implements SortAlgorithm {

    @Override
    public void sort() {
        System.out.println("Sort from Quick Sort");
    }

}
Run Code Online (Sandbox Code Playgroud)

排序算法.java

package com.prakash.Spring.Example;

public interface SortAlgorithm {
 void sort();
}
Run Code Online (Sandbox Code Playgroud)

BinarySearch.java 在这个类中,我想使用 fastSort bean 作为我的组件。

package com.prakash.Spring.Example;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

@Component
public class BinarySearch {

    @Autowired …
Run Code Online (Sandbox Code Playgroud)

qualifiers autowired spring-boot

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